ナビゲーション バーに問題があります。問題は、NavigationBar が持つ LeftBarButtonItem を次のようにスーパー viewController からオーバーライドしようとしていることです。
「スーパービューコントローラー」
UIImageView *logoApp = [[UIImageView alloc] initWithImage:[UIImageimageNamed:@"logo.png"]];
[logoApp setFrame:CGRectMake(5, 5, 55, 30)];
UIBarButtonItem *containingLogoApp = [[UIBarButtonItem alloc] initWithCustomView:logoApp];
self.navigationItem.leftBarButtonItem = containingLogoApp;
今、私は次のように別のviewControllerBでそれを上書きしようとしています:
UIImageView *backImg = [[UIImageView alloc] initWithImage:[UIImageimageNamed:@"back.png"]];
[logoApp setFrame:CGRectMake(5, 5, 17, 22)];
UIBarButtonItem *containingBackButton = [[UIBarButtonItem alloc]initWithCustomView:backImg];
self.navigationItem.leftBarButtonItem = containingBackButton;
これは同じコードで、アプリの初回実行時にのみ機能します。もう一度実行すると、割り当てられた画像が表示されViewControllerB
なくなります。これは、プロジェクトにあるすべての画像で発生します。最初の実行後、シミュレーターでアプリを初めて実行したときにのみ機能します...まったく何も起こらないようです。
leftBarButtonItem を上書きするにはどうすればよいですか?