我有一个联系人的视图。根据用户提供的联系信息,如果信息可用,我想包括标签,或者如果信息不可用,则不占用空间以避免一堆空白的字段,如电话:电子邮件:等,
页面布局在故事板中。如果为空或以其他方式动态构建页面,有没有办法让标签不占用空间?
我在想,[label sizeToFit];
但这似乎仍然为标签留下至少一行空白。
编辑:显示垂直约束设置为 10.f 和 0.f。图像正在缩小,但它占用的空间没有缩小。
我有一个联系人的视图。根据用户提供的联系信息,如果信息可用,我想包括标签,或者如果信息不可用,则不占用空间以避免一堆空白的字段,如电话:电子邮件:等,
页面布局在故事板中。如果为空或以其他方式动态构建页面,有没有办法让标签不占用空间?
我在想,[label sizeToFit];
但这似乎仍然为标签留下至少一行空白。
编辑:显示垂直约束设置为 10.f 和 0.f。图像正在缩小,但它占用的空间没有缩小。
您可以为此使用约束。
以编程方式构建高级布局非常复杂且容易出错,但使用自动布局选项可以做到这一点。
例如,您有一个 UILabel,有时您想将其从布局中删除。因此,您可以参考该 UILabel 的高度和宽度约束,然后进行如下更改:
widthConstraint.constant = 0.0f;
heightConstraint.constant = 0.0f;
您还可以将初始值保留在属性中,并在要添加到布局时使用它们。
为了生效,您应该[self needsUpdateConstraints];
在更改约束后调用。
如果您的目标是 iOS9+,那么您的问题的解决方案就是 Stack View。https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIStackView_Class_Reference/
在这里你会找到一个快速的介绍:https ://developer.apple.com/videos/play/wwdc2015-218/
它将根据您提供或采取的视图为您处理所有布局。
Z。