3

独自のコンテナを作成する際のUINavigationControllerとUINavigatinBarに関する2つの質問。

1)ストーリーボードを使用して最初のコンテナーを作成し、それをUINavigationControllerに埋め込みました。childViewControllersがUINavigationBarにアクセスするために私が見つけた唯一の方法は、childViewControllerのviewDidLoadで次のようなことを行うことでした。

UIBarButtonItem *showDetailViewControllerBBI = [[UIBarButtonItem alloc] initWithTitle:@"Show Details" style:UIBarButtonItemStyleBordered target:self action:@selector(switchToCarouselLayout:)];
self.parentViewController.navigationItem.leftBarButtonItem = showDetailViewControllerBBI;

これはUINavigationBarを取得するための適切な方法ですか?

2)UINavigationBarを最初のContainerViewControllerに叩き込むことができると思いました。ストーリーボードのUINavigatinControllerを削除し、containerViewControllerの上部にUINavigatinBarを配置しました。プロジェクトを実行すると、ナビゲーションバーが表示されません。では、UINavigationControllerに埋め込まずに、最初のコンテナビューコントローラにUINavigationBarを含めることができない場合、IBのUINavigationBarは実際に何をしますか?それとも、美学のためだけであり、UINavigationControllersでのみ使用できますか?ありがとう。

4

1 に答える 1

0

1)はい、子View Controllerから何かを参照するのはOKだと思います。もう 1 つの方法は、コンテナー コントローラー自体でそのバー ボタン項目を定義し、ターゲットを self.childViewControllers.lastObject に設定することです (1 つしかないと仮定します)。

2) これでうまくいくはずです。ナビゲーション バーをドラッグしましたか、それともトップ バーのシミュレートされたメトリックをナビゲーション バーに変更しただけですか? 後者は、私が知る限り、IB のビジュアル レイアウト専用です。実際には追加しません。

于 2012-12-07T00:52:44.360 に答える