mar*_*mba 34 uinavigationbar uinavigationcontroller uicolor translucency
我多次偶然发现,从未找到解决方案.UINavigationController的navigationBar可以设置为黑色半透明,如:
self.navigationController.navigationBar.barStyle=UIBarStyleBlackTranslucent;
Run Code Online (Sandbox Code Playgroud)
另外,在UINavigationBar中有一个半透明的属性,文档说:
如果是,则无论条形样式如何,导航栏都会以部分不透明度绘制.不透明度是固定的,不能更改.当导航栏由导航控制器对象管理时,允许设置此属性的值.
我试过了
self.navigationcontroller.navigationBar.tintColor=[UIColor blueColor];
self.navigationcontroller.navigationBar.translucent=YES;
Run Code Online (Sandbox Code Playgroud)
和千种变化:首先设置半透明属性,在AppDelegate和ViewController中设置它,首先设置barstyle.结果总是一样的:没有透明度.因此我的问题是:
是否真的可以将半透明UINavigationBar的颜色更改为不同于黑色的颜色(最好是在UINavigationController中)?
我希望有一个审查安全的解决方案.
谢谢,m
mar*_*mba 50
一旦你知道它,它就相当简单:
self.navigationController.navigationBar.tintColor = [UIColor blueColor];
self.navigationController.navigationBar.alpha = 0.7f;
self.navigationController.navigationBar.translucent = YES;
Run Code Online (Sandbox Code Playgroud)
该translucent属性似乎只是确定主视图应该在导航栏下可见,并且适当地调整视图大小.
Nic*_*rdu 17
为了更准确地模仿半透明效果,意味着只有导航栏的背景是半透明的,并且按钮,标题和其他所有内容都是不透明的,您可以这样做:
self.navigationController.navigationBar.translucent = YES;
[(UIView*)[self.navigationController.navigationBar.subviews objectAtIndex:0] setAlpha:0.7f];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36915 次 |
| 最近记录: |