- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor redColor];
//1.获取导航控制器的导航栏,在导航控制器中,所有的视图控制器共用一个导航栏
UINavigationBar *navigationBar = self.navigationController.navigationBar;
//2.设置导航栏的风格
//UIBarStyleDefault ----默认白色的
//UIBarStyleBlack ----黑色的
navigationBar.barStyle = UIBarStyleDefault;
//3.设置导航栏的透明度,默认为YES
//如果导航栏透明,则视图控制器上的子视图的坐标原点按导航控制器的view的左上角的点
//如果导航栏不透明,则视图控制器上的子视图的坐标原点按导航栏的左下角的点来算
navigationBar.translucent = YES;
NSLog(@"%@",NSStringFromCGRect(self.view.bounds));
//导航栏高度为44像素,上部状态栏高度为20,所以导航栏上部总共为64像素
NSLog(@"%@",NSStringFromCGRect(navigationBar.bounds));
//修改导航栏元素项的颜色
navigationBar.tintColor = [UIColor yellowColor];
//修改导航栏的背景颜色
navigationBar.barTintColor = [UIColor cyanColor];
//设置导航栏的背景图片 (竖屏)
//forBarMetrics:手机屏幕状态
[navigationBar setBackgroundImage:[UIImage imageNamed:@"navBarLand"] forBarMetrics:UIBarMetricsDefault];
[navigationBar setBackgroundImage:[UIImage imageNamed:@"navigationbar"] forBarMetrics:UIBarMetricsCompact];
[self createBtn];
}
//***********************************设置导航状态栏元素项*************************************
//设置视图控制器的标题方式1
self.title = @"视图一";
//设置视图控制器的标题方式2:导航元素项
//navigationItem属于视图控制器,即每个视图控制器都有自己的导航元素项,导航栏是所有视图控制器共享的
self.navigationItem.title = @"视图一";
//设置视图控制器的标题方式3:图片方式设置
//并且图片方式的优先级最高,方式一和方式二优先级一样
UIView *view = [[UIView alloc]init];
view.frame = CGRectMake(0, 0, 30, 30);
view.backgroundColor = [UIColor yellowColor];
self.navigationItem.titleView = view;
//下一个视图控制器的返回按钮是由上一个视图控制器来创建的
//返回按钮如果没有创建,系统会自动创建,并且将当前控制器的标题设为返回按钮的标题
//这个返回按钮是给下一级视图控制器使用
//如果返回按钮的文字太长了,不能完全显示,则自动替换为Back
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:nil action:nil];
//设置导航元素项的左元素项(做元素想显示在当前视图控制器)
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"帮助" style:UIBarButtonItemStylePlain target:nil action:nil];
//方式1:创建文字常规导航元素项按钮
UIBarButtonItem *rightItem = [[UIBarButtonItem alloc]initWithTitle:@"编辑" style:UIBarButtonItemStyleDone target:self action:@selector(rightClick)];
//设置导航元素项为有元素项
self.navigationItem.rightBarButtonItem = rightItem;
//方式2:创建系统样式的按钮
UIBarButtonItem *rightItem2 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:nil];
self.navigationItem.rightBarButtonItem = rightItem2;
//方式3:创建自定义样式按钮
UIView *view2 = [[UIView alloc]init];
view2.frame = CGRectMake(0, 0, 30, 30);
view2.backgroundColor =[UIColor redColor];
UIBarButtonItem *rightItem3 = [[UIBarButtonItem alloc]initWithCustomView:view2];
self.navigationItem.rightBarButtonItem = rightItem3;
//方式4:创建图片样式按钮
UIImage *image = [UIImage imageNamed:@"user_total"];
//强制设置图像为原始的描画方式显示
UIImage *image1 = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIBarButtonItem *rightItem4 = [[UIBarButtonItem alloc]initWithImage:image1 style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.rightBarButtonItem = rightItem4;
//设置左元素项数组,并且会覆盖掉原有元素项
self.navigationItem.leftBarButtonItems = @[rightItem2,rightItem3,rightItem4];
//设置有元素项数组,并且会覆盖原有元素项
self.navigationItem.rightBarButtonItems = @[rightItem2,rightItem3,rightItem4];
[self createBtn];