1

我知道隐藏UILabel. 我可以将 alpha 设置为 0 或将标签属性“隐藏”设置为 YES。那是

// UILabel *label = ...
label.alpha = 0.0f;

// or
label.hidden = YES;

然而,在这两种情况下,标签都会占用空间(它的宽度和高度)。

是否可以隐藏标签以使其不占用任何垂直/水平空间?我猜一种可能的方法是将宽度/高度设置为 0。但也许有更好的方法。

4

3 回答 3

7

处理此问题的最简单方法是使用Stack Views。将标签嵌入堆栈视图中,堆栈视图将在内部处理间距。可以根据需要调整对齐、间距等其他属性。确保重新建立堆栈视图和相邻元素之间的约束,因为一旦视图被添加到堆栈视图,所有如果它的约束被清除

于 2016-05-22T02:21:19.323 回答
6

我刚刚遇到这个问题,发现您必须将文本设置为空字符串才能使其不占用空间。(iOS 9)

 label.text = @"";
 label.hidden = YES;

iOS有很多错误。

于 2015-12-08T07:45:52.053 回答
1

那么您可以将框架高度值设置为0以隐藏标签。[使用自动布局?如果您正确设置,这可能就足够了]

如果没有自动布局,要向上移动下面的内容,这取决于以编程方式将下面内容的框架设置为新框架[将所有组件更改y valueyvalue-label.height]

于 2013-06-12T14:38:43.143 回答