我爲聯繫信息屏幕堆疊了很多標籤。如果任何標籤都是空的,我希望將其高度調整爲零,並且不要佔用空間以避免屏幕上出現空白區域。但是,我已經在故事板中創建了屏幕,並且標籤被分配了高度和y值。如果標籤爲空/故事板,則使UILabel高度爲零
這裏是代碼我一直試圖用來改變標籤高度,但不能得到它的工作。也許它只能用於以編程方式創建的標籤,故事板設置會覆蓋我在此處執行的操作。
NSString *string = @"some text";
CGSize maximumLabelSize = CGSizeMake(280,1000);
// use font information from the UILabel to calculate the size
CGSize expectedLabelSize = [string sizeWithFont:myLabel.font constrainedToSize:maximumLabelSize lineBreakMode:NSLineBreakByWordWrapping];
// create a frame that is filled with the UILabel frame data
CGRect newFrame = myLabel.frame;
// resizing the frame to calculated size
newFrame.size.height = expectedLabelSize.height;
// put calculated frame into UILabel frame
myLabel.frame = newFrame;
有沒有辦法讓故事板中創建的標籤的高度爲零,如果它們是空的?
你可以使用堆棧視圖嗎?文字如何變化?爲什麼你有一個固定數量的標籤,如果你可能沒有那麼多的文字? – Wain
這些標籤是名稱,標題,地址的第一行,地址的第二行,城市狀態,郵政編碼,電子郵件......垂直堆疊在名片上。但是,如果標題地址第2行或電話號碼未由用戶填寫,我不希望有空位。我也試圖避免標題:有空白。只是想顯示標題或電子郵件地址(如果存在),否則不顯示。支持ios8,所以我認爲nixes堆棧視圖。 – user1904273
你可以用一個標籤 – Wain