[英]IOS Autolayout- Multiple images in one horizontal line of subview programmatically
[英]ios- Autolayout- add constraint respect to navigation item
我刚刚开始将我的应用程序移动到autolayout。 我想约束导航栏下面的标签'0'像素。 我试过但没有找到解决方案。 这是屏幕截图。
在故事板中,我给了superview一个约束。
在IOS7中,它工作正常。
但是在IOS6中它会在导航栏下方64像素,因为superview从导航栏下面开始。
如果我可以为导航栏下面的标签添加顶部约束,它将解决问题。 但我无法找到如何做到这一点。 我搜索了几个问题。 但是他得到了答案。
请帮忙。
iOS 11更新:
iOS 11引入了安全区域的概念,并且容器的负担在可见区域中的所有内容再次位于视图的手中,而不是视图和控制器的探戈。
请参阅苹果的文档在这里 。
使用故事板或XIB时,就像在Xcode中启用该功能一样简单。 这是向后兼容的,应该在iOS 10及以下版本中按预期工作。 在代码中,您将使用if (@available(iOS 11.0, *))
来决定是否针对安全区域指南/锚点设置约束或使用旧系统上的旧版指南。
使用故事板时,需要在顶部布局指南中添加约束。 这将解决您的问题,如在iOS6上,即0pt,在iOS7上,它是动态的。 如果您使用的是nib / xib文件,它会变得更复杂一些; 您需要在代码中添加约束。 实现此目的的最简单方法是创建一个约0垂直空间到顶部的约束,在代码和viewDidLayoutSubviews
创建此约束的出口,将约束出口的constant
更新为self.topLayoutGuide.length
的值。
您只需在约束中进行一些修改:
1)给你的标签一个高度限制
2)将标签固定到前视图 - 水平空间约束
3)添加垂直空间约束
第三步必须小心[我附上一张图片供你参考。]
完成后,检查视图控制器上是否仍然存在红色箭头标记 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.