/*
//单视图控制器的应用
FirstViewController *firstVC = [[FirstViewController alloc] init];
self.window.rootViewController = firstVC;
*/
//多视图控制器的应用, 导航控制器, 借助于UINavigationController, 继承于UIViewController, 用于管理具有层级关系(内容)的页面切换
FirstViewController *firstVC = [[FirstViewController alloc] init];
//参数: 导航控制器管理的第一个页面(视图控制器)
UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:firstVC];
//指定window的根视图控制器 是 导航控制器
self.window.rootViewController = navigation;
//释放
[firstVC release];
[navigation release];
//导航控制器如何管理视图控制器?
//1.通过栈的形式管理视图控制器
//2.切换到下一个页面, 入栈(push)
//3.返回到上一个页面. 出栈(pop)
//4.展示的栈顶的视图控制器
//5.视图控制器共用的导航栏
//获取,navigationController的navigationBar
//UINavigationBar,导航栏, 继承于UIView
//导航栏的渲染色(涂在最外层)
// navigation.navigationBar.barTintColor = [UIColor greenColor];
//注意: 状态栏, 20 ;导航栏 44; 总共64 ,竖屏44, 横屏32
//导航栏的样式, 会影响状态栏
navigation.navigationBar.barStyle = UIBarStyleDefault;
//半透明, 会影响视图控制器自带的view大小
navigation.navigationBar.translucent = NO;
//导航栏上文字或图片的渲染色
navigation.navigationBar.tintColor = [UIColor magentaColor]; //品红
//UINavigationItem, 控制导航栏上展示的内容
return YES;
}
//设置下一页, 上一页按钮; 在相应建的视图里面,添加按钮(关联方法);
@interface SecondViewController ()
@end
@implementation SecondViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
NSLog(@"%@",self.navigationController.viewControllers);
self.view.backgroundColor = [UIColor greenColor];
UIButton *nextbutton = [UIButton buttonWithType:UIButtonTypeCustom];
nextbutton.frame = CGRectMake(100, 100, 100, 40);
nextbutton.showsTouchWhenHighlighted = YES;
nextbutton.backgroundColor = [UIColor redColor];
[nextbutton setTitle:@"下一页" forState:UIControlStateNormal];
[nextbutton addTarget:self action:@selector(next) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:nextbutton];
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
backButton.frame = CGRectMake(100, 200, 100, 40);
backButton.showsTouchWhenHighlighted = YES;
backButton.backgroundColor = [UIColor redColor];
[backButton setTitle:@"上一页" forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:backButton];
self.navigationItem.title = @"清新绿";
}
- (void)next {
ThirdViewController *thirdVC = [[ThirdViewController alloc] init];
[self.navigationController pushViewController:thirdVC animated:YES];
[thirdVC release];
}
- (void)back {
//出栈(数组)
//popToRootViewControllerAnimated,将当前的视图控制器出栈()
[self.navigationController popViewControllerAnimated:YES];
//直接回到第一个页面
[self.navigationController popToRootViewControllerAnimated:YES];
//回到指定页面
// self.navigationController popToViewController: animated:<#(BOOL)#>];
}
UINvigation,导航条
最新推荐文章于 2016-03-11 08:22:29 发布