iOS 4.2+ 用のアプリを開発しています。my をサブクラス化してUINavigationController2 つ挿入UIImageViewし、ナビゲーション バーをカスタムにしました。すべてうまくいっていますが、少し問題があります。私はカスタムを作成UIBarButtonItemし、View Controller内にそれらを配置しました:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:backButton];
それも機能しますが、問題は、これを機能させるには、次から呼び出す必要があることです。
- (void)viewDidAppear:(BOOL)animated ;
したがって、アニメーションの後にのみ表示され、カスタマイズされたボタンが置き換えられる1秒前に、カスタマイズされていないボタンが表示されます。
(試してみましviewWillAppearたが、ナビゲーションバーに何も追加されません)
この問題を解決できる解決策があれば教えてください。
PS: IB を使用したことはありません。すべてプログラムで作成されています。
フランスからありがとう!
編集1:これは、何も表示されなかったコードですviewWillAppear:
- (void)viewWillAppear:(BOOL)animated {
[self setTitle:@"Jeu"];
//Bouton testflight
TIFButton *testFeedbackButton = [[TIFButton alloc]init];
[testFeedbackButton setTitle: @"Envoyer un Feedback" forState:UIControlStateNormal];
[testFeedbackButton addTarget:self action:@selector(launchFeedback) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *testFeedback = [[UIBarButtonItem alloc] initWithCustomView:testFeedbackButton];
self.navigationItem.rightBarButtonItem = testFeedback;
TIFBackButton *backButton = [[TIFBackButton alloc]init];
[backButton setTitle: @"Retour" forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(popToPrecedentViewController) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:backButton];
}