0
  1. カスタムナビゲーションバーを作成したくありません。
  2. UIViewControllerをプッシュしていて、ナビゲーションバーがそのUIViewControllerをどのように検索するかをカスタマイズしたい

ストーリーボードでは、セグエを指定するだけで、画面にナビゲーションバーが表示されます。UIBarItemを左右にドラッグアンドドロップするだけです。

XIBでは、navigationBarは単に表示されません。

ナビゲーションアイテムを追加できますが、追加したものは無視されます。

以前はnavigationItemというアウトレットがあったと聞きましたが、わからない理由で非推奨になりました。UINavigationBarを追加できますが、それは独自のカスタムバーを追加することになります。UINavigationControllerによって提供されるnavBarが必要です。

4

3 に答える 3

2

ストーリーボードデザイナのナビゲーションバーの外観は、ViewControllerを内にロードしたときに画面がどのように表示されるかを示すためのものUINavigationControllerです。これは、アプリに実際にナビゲーションコントローラーがあるという意味ではありません。

ストーリーボードに(おそらく最初のシーンとして)を追加してUINavigationControllerから、ViewControllerを(ルートビューコントローラーとして)それに接続する必要があります。

次に、ストーリーボードデザイナーでタイトルを設定し、バーボタンの項目をナビゲーションバーにドラッグできるようになります。

この質問への回答も参照してください。

于 2012-11-26T11:38:54.400 に答える
0

これが、アップルがこれを実装したい実際の方法だと思います。

UINavigationBarを置く

アウトレットをUINavigationItemに設定します

これがキャッチです

作成したUINavigationItemを返すには、navigationItemプロパティをオーバーライドします。

それでおしまい。

-(UINavigationItem *) navigationItem
{
    return self.navigationItem1;
}

あなたのnavigationItemがまだUINavigationBarにある場合は、UINavigationBarへの強力なアウトレットも必要になると思います。ここで間違っている場合は訂正してください。

于 2012-11-26T11:33:09.090 に答える
0

コードで設定できます。

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.title = @"Title";
    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back"style:UIBarButtonItemStyleBordered target:self action:nil];
    self.navigationItem.rightBarButtonItem = "Create button" ;
    self.navigationItem.leftBarButtonItem =  "Create button" ;
    self.navigationItem.titleView =  "Create custom title view";
}
于 2012-11-26T11:02:29.297 に答える