- (UINavigationController *)navigationController {
nav = [[UINavigationController alloc]
initWithRootViewController:[self demoController]];
UIImage *image;
// If Iphone/iPod Touch
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
// If iPhone 5 or new iPod Touch
if([UIScreen mainScreen].bounds.size.height == 568){
image = [UIImage imageNamed:@"nav.png"];
} else{
// Regular iPhone
image = [UIImage imageNamed:@"nav.png"];
}
}
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[nav.navigationBar addSubview:imageView];
return nav;
}
leftBarButtonItemを追加しようとすると
- (UIBarButtonItem *)leftMenuBarButtonItem {
UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
[backButton setBackgroundImage:[UIImage imageNamed:@"main_menu.png"] forState:UIControlStateNormal];
UIBarButtonItem *barBackButtonItem = [[UIBarButtonItem alloc] initWithCustomView: backButton];
[backButton addTarget:self action:@selector(leftSideMenuButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
return barBackButtonItem;
}
ナビゲーションに main_menu.png は表示されませんが、このコードをコメントする場合
// [nav.navigationBar addSubview:imageView];
main_menu.png、問題の内容、nav.png が他の画像を表示している理由、SubView として追加されているため、他の左または右のバー ボタン項目を nav.png の上に表示するにはどうすればよいかを示します。