0

静的ライブラリの一部である UIViewController があります。この UIViewController は、さまざまなアプリで使用される可能性があります。一部のアプリは、現在のモーダルを使用して別のナビゲーション スタイルでこのビューを表示できる必要があります。

問題は、ナビゲーション バーに関してこの UIViewController を設計するエレガントな方法は何ですか? 現在、次の解決策があります。

- (void)viewDidLoad
{
    [super viewDidLoad];
    if (self.navigationController != nil) {
        self.navigationItem.title = @Test;
        //... set nav bar buttons

    } else {
        UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
        navBar.topItem.title = @Test;
       //... set nav bar buttons and add UINavigationBar to view
    }

}
4

2 に答える 2

1

エレガントな方法は、ユニバーサル UIViewController を UINavigationController に追加することです

そのようにかなり便利です。

于 2012-08-10T18:39:56.310 に答える
0

iOS 5 の時点で、Apple は UIViewController コンテナーを追加しました。これにより、UINavigation コントローラーのように動作するクラスを作成できます。

addChildViewController: メソッドを使用して別のビュー コントローラーを階層に追加すると、必要に応じてビュー コントローラーのビューを描画できます。

Apple のドキュメントのこのページには、必要な情報がすべて含まれていますhttp://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/AboutViewControllers/AboutViewControllers.html

于 2012-08-10T18:46:56.867 に答える