我一直在开发一个企业 iPad 客户端应用程序,它具有相当复杂的包含视图控制器层次结构。我最近不得不在应用程序启动视图(服务器登录视图)中实现重新设计。我决定借此机会使用自动布局实现重新设计,并保持应用程序的其余部分保持不变。在观看了 WWDC 视频并破解代码几天后,我对登录文本字段进行了流畅、动画的重新定位,以进行旋转和键盘显示/隐藏事件。对结果满意,我git合并了重构分支,结果登录后使用应用程序时发现应用程序崩溃,没有调试器提示。我终于发现自动布局以某种方式级联到子容器视图控制器。
在 Main.storyboard 中有一个“主”导航控制器,它有一个 RootViewController 根视图控制器,其视图是子视图控制器视图的容器,从登录视图开始,然后交换到用户最后使用的任何视图控制器。重构后,在 IB 中,服务器登录控制器已选中“使用自动布局”。但是突然之间,一个从未启用过自动布局的子视图控制器也被检查了。当我在该视图控制器上取消选中它时,突然我的服务器登录 vew 控制器自动布局复选框未选中。这是否意味着在故事板中的所有视图控制器上启用/禁用自动布局?如果没有,有人知道发生了什么吗?Xcode 4.6