For changing the UINavigationBar
title (with no need to create 2 other UINavigationController
) you can just use
[self.parentViewController.navigationItem setTitle:@"Title"];
and for adding the right button use
self.parentViewController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(myRightButton)];
on viewDidLoad
method for each UIViewController
referenced from your UITabBarController
.
If you want to work with "navigation structures" inside your UIViewController
from TabItems
so you could edit your BUFViewController.m to that:
#import "BUFViewController.h"
@interface BUFViewController ()
@end
@implementation BUFViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self.parentViewController.navigationController setNavigationBarHidden:YES];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done)];
}
-(void)done{
[self.parentViewController.navigationController popToRootViewControllerAnimated:YES];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
You have to think as your UITabBarController
is inside your parent NavigationController
, so you want to hide the parent UINavigationBar
and show yours.
After that, you'll be able to back to your table using popToRootViewControllerAnimated
: on the parent's UINavigationController
.
Hope that helps :)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…