我有幾個標籤,它們絕不應該互相接觸。見下圖(忽略黃色字母):當其他UILabel生長時自動收縮UILabel
這些都是4個標籤總數,2個球員的名字和分數。播放器的名稱將替換原始播放器標籤文本。所以「玩家1:」可以是任何寬度的文字。標籤位於UIStackView中的視圖中。每個2個標籤(所以球員的名字和得分)都有他自己的觀點。在此示例中,1個UIStackView中有2個視圖中有4個標籤。這是我想要的:
分數標籤永遠不會自動縮小,它們始終保持原來的高度,如果內容(分數)增長,它會自動增加寬度。因此,我將內容擁抱優先級設置爲比玩家名稱標籤更大的值。由於我不想讓分數標籤自動縮小,因此我將內容壓縮抵抗優先級設置爲比玩家名稱標籤更高的值。
我將玩家名稱標籤文本設置爲0.5的自動收縮值比例。然而,當提出一個大的用戶名,它出現在得分標籤這樣的(我做出了原來藍色的「0」,現在黃):
用戶名應自動收縮,並且絕不碰得分標籤。我怎樣才能做到這一點?
我希望你能幫忙!
編輯:我想在球員姓名和球員得分標籤之間添加尾隨空格。要做到這一點,我想添加一個尾隨空間,從球員名字,到球員得分標籤。然而,當添加這個限制時,它也將採用整個評分標籤。當它接觸到分數標籤時,我當然希望它停下來。圖1顯示了將尾部空格添加到比分標籤時球員姓名的大小。它佔據了比分標籤的膨脹。 :
我不希望使用固定的約束,因爲這將導致在iPad或iPhone上運行SE它的問題。謝謝。
「UIStackView」可能不使用內容壓縮或擁抱屬性。它還管理自己的視圖堆棧(不需要關心自動佈局)。我認爲你最好直接將標籤添加到視圖中,並在沒有自動佈局的情況下處理它。 – keithbhunter
是的,它是在自動佈局中,堆疊在UIStackview中。我不知道如何做這個特別的事情。自動佈局不會根據其他UILabels自動調整標籤大小 – Petravd1994
我不認爲UIStackView不支持其中的標籤內容擁抱。我會在更改我的整個代碼之前等待其他答案 – Petravd1994