は、私はこのようなプログラムで私のビュー階層を作成しています: プログラムによるビュー階層の自動レイアウト制約を設定しますか?
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];
2 VC
はXIBの両方のケースで自動レイアウトを使用していることからロードされています。すべてがよさそうだが、私は実際に私がコンソールにいくつかの心配AMBIGUOUS LAYOUT
警告を取得
po [[UIWindow keyWindow] _autolayoutTrace]
を行うとき:
*<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
だから私の質問は、どのように私はそれらを取り除くんですか? より一般的には、自動レイアウトを使用してプログラムでウィンドウを設定し、階層を表示するにはどうしたらよいですか?
私は、プログラムでウィンドウを設定することに関して、ドキュメントが非常に曖昧であることを発見しました。私はこの3つのWWDCビデオをすべて見ていましたが、これをどうやって行うのか把握できませんでした。
EDIT:これは新しいiOS 7にのみ関連している問題として表示されます。NDAの下にあるので、このディスカッションをApple Developer Forumsに移します。
私は一般的な考え方とデバッグ方法を理解していますが、私の質問はコード内でビュー階層を最初から構築する方法に関係しています。 UIWindowをスーパービューにすることはできません。 – ABeanSits