ios- Autolayout- 添加对导航项的约束

标签 ios autolayout

我刚刚开始将我的应用程序移动到自动布局。 我想限制导航栏下方的标签“0”像素。 我试过但没有找到解决方案。 这是屏幕截图。

在 Storyboard 中,我从 superview 给出了约束。

enter image description here

在 IOS7 中它工作正常。

enter image description here

但在 IOS6 中,它位于导航栏下方 64 像素,因为 superview 在导航栏下方开始。

enter image description here

如果我可以为导航栏下方的标签添加顶部约束,它将解决问题。但我找不到怎么做。我搜索了几个问题。但得到了答案。

请帮忙。

最佳答案

iOS 11 更新:

iOS 11 引入了安全区域的概念,容器可见区域中所有内容的负担再次落在 View 的手中,而不是 View 和 Controller 的探戈。

请参阅 Apple 文档 here .

使用 Storyboard或 XIB 时,只需在 Xcode 中启用该功能即可。这是向后兼容的,应该可以在 iOS 10 及更低版本下按预期工作。在代码中,您将使用 if (@available(iOS 11.0, *))以便决定是对安全区域指南/ anchor 设置约束还是在旧系统上使用遗留指南。


使用 Storyboard时,需要对top layout guide添加约束。这将解决您的问题,因为在 iOS6 上,它是 0pt,而在 iOS7 上,它是动态的。如果您使用的是 nib/xib 文件,它会变得有点复杂;您需要在代码中添加约束。实现这一点的最简单方法是创建一个顶部垂直空间为 0 的约束,在代码和 viewDidLayoutSubviews 中为该约束创建一个导出。 , 更新 constant约束导出的值 self.topLayoutGuide.length .

关于ios- Autolayout- 添加对导航项的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23366849/

相关文章:

android - SOAPEngine 的completeWithDictionary 为空

iOS:当我将Frame设置为tableView以更改高度时,它不起作用

ios - 使用自动布局调整按钮大小

ios - 如何布局 UILabel 和 UIButton 并使它们居中?

ios - 自动布局调整 UIView 大小不起作用

ios - xcode 在尝试设置 map 路由时意外退出

ios - 应用程序被拒绝是因为仅使用 Facebook 作为登录选项?

iphone - Facebook iPhone SDK,应用程序在 iOS 4.2 之前崩溃,但在 iOS 4.2+ 中运行良好

iOS 创建具有动态内容的 PDF

ios - 设置两个 UIButton 约束?