也许你会很奇怪,为什么你的程序会带有一个导航条呢,而我的这个怎么没有的呢,原因很简单,我是在VSLoginViewController的(void) viewWillAppear:(BOOL)animated方法中将导航条隐藏掉了,代码如下:
-(void) viewWillAppear:(BOOL)animated { [self.navigationController setNavigationBarHidden:YES animated:YES]; [super viewWillAppear:animated]; }
在做跳转逻辑之前,我们还要做一个设置,就是设置下一个页面中导航条的回退按钮的标题,是的,下一个页面的回退按钮的标题是在本页面设置的,这里有2种方法:1.设置本画面的title属性;2.修改下一个页面的导航条的回退按钮,这个的设置是在ViewController的init方法中实现的,代码如下:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { UIBarButtonItem *backItem=[[UIBarButtonItem alloc]init]; backItem.title=@"注销"; self.navigationItem.backBarButtonItem = backItem; // self.title = @"注销"; } return self; }
3.下面来实现页面的跳转逻辑,首先在VSLoginViewController.h中声明一个方法login,然后将这个方法绑定到xib的按钮上,然后实现login方法,代码如下:
-(void) login:(id)sender { VSMainViewController *mainViewController = [[VSMainViewController alloc]initWithNibName:@"VSMainViewController" bundle:nil]; [self.navigationController pushViewController:mainViewController animated:YES]; }
设置完成后点击这个按钮就会跳转到下一个页面了:
导航条有显示回来了,这也是在viewWillAppear方法中设置的,如果不设置则默认是沿用上一个的导航条设置。