申し訳ありませんが、iPhoneプログラミングは初めてです。
Master-Detail Iphone アプリケーションを作成しました (Navigation Controller はプロジェクトに付属しています)。masterviewcontroller の UIBarButtonItem を介して作成した新しいビュー コントローラーに移動します。ただし、detailviewcontroller (プロジェクトに付属) とは異なり、ストーリーボードのシーン リストに表示されていても、ナビゲーション項目 (またはナビゲーション バー?) をビューに表示できないようです。
いくつかのコードとスクリーンショットを次に示します。
私の masterviewcontroller.m viewdidload() 関数で
UIBarButtonItem *settingsButton = [[UIBarButtonItem alloc] initWithTitle:@"Settings" style:normal target:self action:@selector(goToSettings:)];
self.navigationItem.leftBarButtonItem = settingsButton;
私のmasterviewcontroller.mで
- (IBAction)goToSettings:(id)sender{
[self performSegueWithIdentifier:@"SettingsSegue" sender:self];
}
私が作成した新しいviewcontroller.mクラスのviewDidLoad関数中にnavigationitemにタイトルを追加しようとしました(このリンクに記載されていますが、機能しませんでした)
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.navigationItem.title = @"Settings";
self.navigationItem.leftBarButtonItem = self.editButtonItem;
}
しかし、それはまだストーリーボードに表示されます(シーンの下のリストには表示されますが、ビューの表示には表示されません)
だから私の質問は、なぜそれが今表示されているのですか、どうすれば表示されるのですか? master-detail プロジェクトに付属していた詳細ビュー コントローラーのような戻るボタンが必要です。
編集#1
ナビゲーション コントローラーが nil で、nil ではない (if ステートメントが入力されていない) かどうかのチェックを追加しました。
if(self.navigationItem == nil)
{
[ self.navigationItem init];
}
self.navigationItem.title = @"Settings";
self.navigationItem.leftBarButtonItem = self.navigationItem.backBarButtonItem;
画像を表示するのに十分な評判を得たので、ナビゲーション アイテムがリストに表示されるが、ビューには表示されないことを示すことができます。