我知道隱藏UILabel
的兩種方式。我可以將alpha設置爲0,或將標籤屬性'hidden'設置爲YES。那就是隱藏UILabel而不消耗任何空間
// UILabel *label = ...
label.alpha = 0.0f;
// or
label.hidden = YES;
但是在這兩種情況下,標籤都會佔用空間(寬度和高度)。
是否可以隱藏標籤,使其不會佔用任何垂直/水平空間?我想一個可能的方法是將寬度/高度設置爲0。但也許有更好的辦法。
我知道隱藏UILabel
的兩種方式。我可以將alpha設置爲0,或將標籤屬性'hidden'設置爲YES。那就是隱藏UILabel而不消耗任何空間
// UILabel *label = ...
label.alpha = 0.0f;
// or
label.hidden = YES;
但是在這兩種情況下,標籤都會佔用空間(寬度和高度)。
是否可以隱藏標籤,使其不會佔用任何垂直/水平空間?我想一個可能的方法是將寬度/高度設置爲0。但也許有更好的辦法。
那麼您可以將幀高度值設置爲0來隱藏標籤[使用自動佈局?這可能是不夠的,如果你把它正確]
沒有自動佈局,移動下方向上的內容,它依賴於編程設定的內容的框架之下,以新的幀[更改所有組件y value
到yvalue-label.height
]
我只是有這個問題,並發現你必須設置文本爲空字符串,以使其不佔用空間。 (iOS 9)
label.text = @"";
label.hidden = YES;
iOS有這麼多的錯誤。
處理此問題的最簡單方法是使用堆棧視圖。將標籤嵌入到堆棧視圖中,堆棧視圖將在內部處理間距。像對齊,間距等其他屬性可以根據需要調整。請確保您重新建立堆棧視圖和相鄰元素之間的約束,因爲一旦視圖添加到堆棧視圖中,如果其約束被清除,所有視圖都會被刪除
你是指佔用空間的是什麼?如果它隱藏,那麼你看不到它,因此它不佔用任何空間。如果你完全想要它的屏幕,但我想你可以將它移動到屏幕邊界之外。 – Groot
那你爲什麼不用'[label removeFromSuperview];'? –
@Filip是的,你不能看到它,但後來的內容不會向上移動。在我看來,這看起來像是一個缺口。 – kukudas