1.设置导航栏为不透明
2.设置导航栏为半透明 [系统默认就是半透明的]
注意:iOS 导航栏如果设置为半透明,则其透明度为90%.也就是说,如果设置 self.navigationController.navigationBar.barTintColor =[UIColor colorWithRed:1 green:0 blue:0 alpha:1],真正显示到界面上的颜色是有90%透明的
3.设置导航栏的背景颜色不会影响半透明 translucent 这个属性
4.隐藏导航栏
只要隐藏了导航栏后,不管 translucent 这个属性的值是ture或者false都会是下图效果
结果说明
如果设置了导航栏的 translucent = YES 这时在添加子视图的坐标原点相对屏幕坐标是(0,0).如果设置了 translucent = NO 这时添加子视图的坐标原点相对屏幕坐标就是(0, 64).
这里的xib是一个控制器所对应的view,使用导航控制器push到这个控制器的时候,得到以下两种情况.
1.导航栏半透明
2.导航栏不透明
在开中遇到这个需求一个侧滑View,滑出时覆盖整个控制器,包括导航栏
效果如下:
将一个View显示覆盖到NavigationBar上面,不能将将要显示的View添加到self.view上面,这样无法覆盖navigationBar。
如果需要覆盖NavigationBar,则将显示的view添加到self.navigationController.view
其实很简单,正常的建立View,只是在添加控件时
[self.navigationController.view addSubview:self.leftView]
而不是
self.view
这样就实现了!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)