我有两个标签:
+----------------+| +------------+ || + label 1 | || +------------+ || || +------------+ || | label 2 | || +------------+ |+----------------+
但第一个标签并不总是填充内容,有时只有没有内容。我想做的是自动显示标签2,当标签1有内容时。
+----------------+| +------------+ || + label 2 | || +------------+ || || || || |+----------------+
我需要添加什么约束,所以它自动工作与autolayout?我知道我可以只是代码一切,但我有大约30个这样的标签,图像和按钮的不同的样式和形状是所有可选的,我不想添加一堆行代码,当它可以自动工作很好太。
如果它不工作,那么我将使用一个WebVIEw和使用HTML和CSS。
解决方法 我不认为你可以这样做。如果您使标签2的布局基于距标签1的距离约束,即使您使标签1在没有内容时自动折叠为零高度,标签2仍然是向下的距离,即:+----------------+| +------------+ || + label 1 | || +------------+ || ^ || ^ !| +------------+ || | label 2 | || +------------+ |+----------------+
其中^是自动布局距离约束 – 如果标签1知道当字符串为空时如何变为零高度,您仍然会得到:
+----------------+| +------------+ || ^ || ^ !| +------------+ || | label 2 | || +------------+ |+----------------+
也许可以通过手动创建你的NSLayoutConstraint。您可以使第二个属性为标签1的高度,使常数为零,然后仔细计算出乘数将使距离成为您想要的基于非零标签高度的倍数的距离。
但是做完了所有这些,你现在编码了一个NSLabel子类,自动调整大小,手动创建一个约束对象,而不是通过视觉语言,并弯曲NSLayoutConstraint超出它的意志。
我想你最好只是改变标签2的框架,如果标签1的字符串是空白的!
总结以上是内存溢出为你收集整理的osx – OS X Cocoa Auto布局隐藏元素全部内容,希望文章能够帮你解决osx – OS X Cocoa Auto布局隐藏元素所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)