1.设置导航栏为不透明
self.navigationController.navigationBar.translucent = NO;
UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 40)];
redView.backgroundColor = [UIColor redColor];
[self.view addSubview:redView];
2.设置导航栏为半透明 [系统默认就是半透明的]
注意:iOS 导航栏如果设置为半透明,则其透明度为90%.也就是说,如果设置self.navigationController.navigationBar.barTintColor =[UIColor colorWithRed:1 green:0 blue:0 alpha:1];
,真正显示到界面上的颜色是有90%透明的
self.navigationController.navigationBar.translucent = YES;
3.设置导航栏的背景颜色不会影响半透明translucent
这个属性
4.隐藏导航栏
只要隐藏了导航栏后,不管translucent
这个属性的值是ture或者false都会是下图效果
结果说明
如果设置了导航栏的translucent = YES
这时在添加子视图的坐标原点相对屏幕坐标是(0,0).如果设置了translucent = NO
这时添加子视图的坐标原点相对屏幕坐标就是(0, 64).
二.加载xib到导航控制器中
这里的xib是一个控制器所对应的view,使用导航控制器push到这个控制器的时候,得到以下两种情况.
1.导航栏半透明
2.导航栏不透明