我将以编程方式创建我的视图层次结构,代码如下:
所以我的问题是,我该如何摆脱它们?或者更一般地说,如何使用自动布局通过编程方式设置窗口和视图层次结构?
我发现文档在编程方式设置窗口方面非常模糊。尽管我观看了所有三个关于此事的WWDC视频,但我仍无法掌握如何做到这一点。
编辑:看起来我遇到的问题只涉及新的iOS 7。由于它受NDA保护,所以我将把这个讨论移到指定的苹果开发者论坛。
UIWindow* window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIViewController1* viewController1 = [[UIViewController1 alloc] init];
UIViewController2* viewController2 = [[UIViewController2 alloc] init];
UINavigationController* navigationController = [[UINavigationController alloc] init];
[navigationController setViewControllers:@[viewController1, viewController2] animated:NO];
[window setRootViewController:navigationController];
[window makeKeyAndVisible];
两个VC都从使用自动布局的XIB加载。一切看起来不错,但实际上当我执行po [[UIWindow keyWindow] _autolayoutTrace]
时,控制台会出现一些令人担忧的AMBIGUOUS LAYOUT
警告:
*<UIWindow:0xc63bec0>
| *<UILayoutContainerView:0xd3d79b0> - AMBIGUOUS LAYOUT
| | *<UINavigationTransitionView:0xd3d8b60> - AMBIGUOUS LAYOUT
| | | *<UIViewControllerWrapperView:0xd566c00> - AMBIGUOUS LAYOUT
| | | | *<UIView:0xc66b290> - AMBIGUOUS LAYOUT
| | | | | *<UIView:0xc66b0e0> - AMBIGUOUS LAYOUT
| | | | | | *<MKMapView:0xd504800> - AMBIGUOUS LAYOUT
所以我的问题是,我该如何摆脱它们?或者更一般地说,如何使用自动布局通过编程方式设置窗口和视图层次结构?
我发现文档在编程方式设置窗口方面非常模糊。尽管我观看了所有三个关于此事的WWDC视频,但我仍无法掌握如何做到这一点。
编辑:看起来我遇到的问题只涉及新的iOS 7。由于它受NDA保护,所以我将把这个讨论移到指定的苹果开发者论坛。