現在、アプリケーションでUINavigationControllerを使用しています。このナビゲーションコントローラーのビューにボタンを追加して、このボタンがナビゲーションバーの上に表示されるようにしました。問題は、navigationBarを非表示にし、ボタンを非表示にして再度表示すると、NavigationBarがボタンの上に表示されることです。誰かがこの問題を解決できますか?
@interface MyNavigationController : UINavigationController<UINavigationControllerDelegate>
{
UIButton *btnBack ;
}
-(id)initWithRootViewController:(UIViewController *)rootViewController
{
self = [super initWithRootViewController:rootViewController];
if (self)
{
self.delegate = self ;
self.navigationBar.barStyle = UIBarStyleBlack;
//btnBack
UIImageView *gameImage = [[UIImageView alloc] initWithFrame:CGRectMake(1, 1, 32, 27)];
self.btnBack = [UIButton buttonWithType:UIButtonTypeCustom];
self.btnBack.frame = CGRectMake(10, 5.0, 60, 30);
[self.btnBack setBackgroundImage:[UIImage imageNamed:@"backicon.png"] forState: UIControlStateNormal];
[self.btnBack addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
[self.btnBack addSubview: gameImage];
[self.view addSubview:self.btnBack];
}
return self ;
}
-(void)hideNavigationItems
{
[self setNavigationBarHidden:YES animated:YES];
self.btnBack.hidden = YES ;
}
-(void)showNavigationItems
{
self.navigationBarHidden = NO;
self.btnBack.hidden = NO ;
}