我在 Apple 的文档( Cocoa Auto Layout Guide )中找不到支持此功能的最低 iOS 版本,也找不到与 iOS 相关的任何帖子……也许它只取决于 Xcode 版本,而不取决于 iOS 版本?我需要开发一个应该从最新的 iOS 版本兼容到 4.3 的 iOS 应用程序
谢谢
我在 Apple 的文档( Cocoa Auto Layout Guide )中找不到支持此功能的最低 iOS 版本,也找不到与 iOS 相关的任何帖子……也许它只取决于 Xcode 版本,而不取决于 iOS 版本?我需要开发一个应该从最新的 iOS 版本兼容到 4.3 的 iOS 应用程序
谢谢
快速找出这一点的一种方法是直接设置 XIB/Storyboard 文件的部署目标。默认情况下,它设置为最新的 SDK 版本。打开 XIB/SB,在 File Inspector(右侧面板)中,选择 4.3(或任何你喜欢的)作为部署目标。
如果启用了自动布局,Xcode 将显示该文件的“非法配置”错误:
如您所见,它仅适用于 iOS 6+。Auto Layout 在运行时使用新的 API,因此使用最新的 Xcode 版本没有帮助,并且您不能在 XIB 中有条件地使用 Auto Layout。但是,您可以为不同的系统版本使用单独的 XIB,但这听起来像是很多(维护)工作。
设置正确的部署目标还有另一个好处:如果您使用比部署目标更晚引入的类,您将收到警告。
Autolayout 是在 WWDC 2012 上引入的,并且从 iOS 6 开始支持。它肯定不适用于 iOS 4.3。
我强烈建议您考虑一下您现在是否真的需要支持 iOS 4.3。我们现在可能非常接近拥有 iOS 7,而您将落后于(从技术上讲)支持 iOS 4.3 的数年。我了解当前支持 iOS 4.3 的应用程序,但我认为现在开始开发支持 iOS 4.3 的应用程序并不是一个好主意。