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