我们在开发的时候想实现页面跳转的时候,就可以使用导航控制器实现:
1.导航控制器初始化(在AppDelegate.m文件里面):
// 导航控制器初始化 设置导航控制器的第一个页面
ViewController *viewController = [[ ViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc]initWithRootViewController : viewController];
2.通过按钮监听导航控制器:
1⃣️: [turn addTarget:self action:@selector(next) forControlEvents:UIControlEventTouchUpInside];
2⃣️:- (void) next
{
TwoViewController *two = [[TwoViewController alloc]init];
// 通过导航控制 跳到下一个页面
[self.navigationController pushViewController:two animated:YES];
}
3.使用UIBarButtonItem(控制栏上的按钮的类名)可以改变控制栏上的按钮属性:
// 控制栏上的按钮
UIBarButtonItem *left =[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(back)]; // 设置导航栏上面的内容
[left setTintColor:[UIColor darkGrayColor]];// 设置颜色
// 设置内容里面左侧按钮的选项的属性
self.navigationItem.leftBarButtonItem = left;
4.通过导航栏按钮监听事件可以实现返回上一个页面:
1⃣️:UIBarButtonSystemItemCancel target:self action:@selector(back)];
2⃣️:- (void) back
{
[self.navigationController popViewControllerAnimated:YES];
}
5.在不想返回上一页,也不想返回首页的时候,就用 viewControllers[下标]:
viewControllers 是存放所有页面的数组,多以可以通过下标取值。
- (void) backHome
{ [self.navigationController popToViewController:self.navigationController.viewControllers[1] animated:YES];
}