IOS:如何使tableview或标签在空时不占用空间?

时间:2016-01-19 22:20:32

标签: ios objective-c uilabel

这在css或html中很容易,但在IOS中很难。

有没有办法让标签或桌面视图在空时占用空间?

似乎有很多方法可以隐藏它们或使标签或文本视图变小,但空白空间总是存在。

例如,如果禁用自动布局,则以下代码会将标签缩小为文本大小,在本例中为空。然而,它留下了旧的tableview所在的空白区域,因此label3不直接跟随label1,而是被一堆空白区分开。

//in view did load
self.label1.text = @"LOTS OF TEXT LOTS OF TEXT LOTS OF TEXT
self.label2.text=@"";
self.label2.numberOfLines = 0;
[self.label2 sizeToFit];
self.label3.text = @"LOTS OF TEXT LOTS OF TEXT LOTS OF TEXT";

我希望label2占用的整个空间缩小,以便标签3向上移动。

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

如果您使用的是UITableView,则只需为heightForRowAtIndexPath:

中的特定行返回0

对于标准UILabel,您必须通过约束将其高度设置为0.

答案 1 :(得分:0)

您可以通过编程方式添加标签,然后在未使用时删除它们。或者添加以编程方式的约束,这些约束会在需要时缩小,如果您要重用它们,则会隐藏标签。