可以在每个.Storyboard或.xib文件上启用或禁用自动布局.只需 Select 特定文件并使用Xcode中的文件判断器修改"use Autolayout"属性:
在部署目标设置为6.0之前的iOS版本的情况下,使用启用自动布局的接口文件会导致编译错误,例如:
主板出错.情节提要:3:在6.0之前的iOS版本上自动布局
要在项目中使用自动布局并保持与iOS4-5的兼容性,您可以 Select 创建两个targets:一个用于部署目标IOS 6.0,另一个用于较早的IOS版本,例如:
您还可以 for each 故事板和XIB文件创建两个版本,并使用6.0目标启用的自动布局和传统目标启用的自动布局,例如:
然后将MainStoryBoardAutoSize添加到iOS6目标的构建阶段,并将另一个文件添加到iOS4目标.您可以了解有关使用多个目标here的更多信息.
编辑:正如marchinram's answer所指出的,如果您从代码加载情节提要文件,并且不使用Xcode中的"主情节提要"设置来设置初始情节提要,则可以使用单个目标.
对我来说,维护多个目标和接口文件所增加的复杂性所带来的成本似乎超过了使用autolayout的好处.除了少数特殊情况外,如果需要iOS4-5兼容性,最好只使用普通的自动调整大小(或代码中的LayoutSubview).