我知道隐藏UILabel
. 我可以将 alpha 设置为 0 或将标签属性“隐藏”设置为 YES。那是
// UILabel *label = ...
label.alpha = 0.0f;
// or
label.hidden = YES;
然而,在这两种情况下,标签都会占用空间(它的宽度和高度)。
是否可以隐藏标签以使其不占用任何垂直/水平空间?我猜一种可能的方法是将宽度/高度设置为 0。但也许有更好的方法。
我知道隐藏UILabel
. 我可以将 alpha 设置为 0 或将标签属性“隐藏”设置为 YES。那是
// UILabel *label = ...
label.alpha = 0.0f;
// or
label.hidden = YES;
然而,在这两种情况下,标签都会占用空间(它的宽度和高度)。
是否可以隐藏标签以使其不占用任何垂直/水平空间?我猜一种可能的方法是将宽度/高度设置为 0。但也许有更好的方法。
处理此问题的最简单方法是使用Stack Views。将标签嵌入堆栈视图中,堆栈视图将在内部处理间距。可以根据需要调整对齐、间距等其他属性。确保重新建立堆栈视图和相邻元素之间的约束,因为一旦视图被添加到堆栈视图,所有如果它的约束被清除
我刚刚遇到这个问题,发现您必须将文本设置为空字符串才能使其不占用空间。(iOS 9)
label.text = @"";
label.hidden = YES;
iOS有很多错误。
那么您可以将框架高度值设置为0以隐藏标签。[使用自动布局?如果您正确设置,这可能就足够了]
如果没有自动布局,要向上移动下面的内容,这取决于以编程方式将下面内容的框架设置为新框架[将所有组件更改y value
为yvalue-label.height
]