如何在 iOS 6 中使用 NSLayoutConstraint?
Posted
技术标签:
【中文标题】如何在 iOS 6 中使用 NSLayoutConstraint?【英文标题】:How to use NSLayoutConstraint in iOS 6? 【发布时间】:2012-09-23 04:05:01 【问题描述】:我的应用应该同时支持使用 ios 5 和 iOS 6 的 iPhone 分辨率(5 和更早版本)。当我在 IB 中使用自动布局时,在 iOS 5 上应用崩溃如下:link
所以,我尝试在代码中使用 NSLayoutConstraint,但还没有成功。
子问题:
-
我在 viewDidLoad 方法中添加了约束,但是正确吗?
updateViewConstraints 是否由框架调用?我从未见过它被调用过。
我尝试使用苹果文档中的示例,但无法查看。
有人知道怎么做吗?
PS:我知道可以通过设置框架手动实现,但我想使用 NSLayoutConstraints。
UDP:是的,我知道,这就是我在代码中使用 NSLayoutConstraint 的原因。我可以为确定iOS版本创造条件。问题是关于iOS6的。
【问题讨论】:
【参考方案1】:AutoLayout 功能仅与 iOS6 兼容,在 iOS5 中不支持。因此崩溃
如果您希望您的应用与 iOS5 兼容,则不能在您的 XIB 文件中使用 AutoLayout。
您只能使用较旧的方法,例如 AutoResizingMask
(无论如何,这对于大多数情况来说通常就足够了)。
【讨论】:
以上是关于如何在 iOS 6 中使用 NSLayoutConstraint?的主要内容,如果未能解决你的问题,请参考以下文章
如何在仅在 iOS-6 中支持横向方向的应用程序中使用 UIImagePickerController?
我应该如何在 iOS 7 中使用具有 iOS 6 风格的 UIButtons?
如何在 Xcode 5 中使用不同的图像 iOS 6 和 iOS 7 [关闭]
如何在 iOS 6 中使用 UIPopoverBackgroundView 呈现透明弹出框
在 + UIDocumentInteractionController 中打开:如何在 SDK iOS 6 中过滤选项(不推荐使用 canPerformActions)