我想要的是UINavigationBar和searchView(CustomView) 应该具有完全相同的颜色,并且在UINavigataionbar下没有阴影。我已经尝试了很多,我找到了影子的灵魂
UINavigationBar.appearance().shadowImage = UIImage()
但仍然无法在UINavigationBar和searchView上执行相同的背景颜色。您可以看到UINavigationBar和SearchView之间的微小色差 请不要寻求指导,如果你有答案请分享。
注意:SearcView是UIView wid标签,图像不是UISeachBar。
答案 0 :(得分:2)
尝试将navigationBar的translucent
属性设置为false
<强>夫特强>
self.navigationController.navigationBar.isTranslucent = false
目标C
[self.navigationController.navigationBar setTranslucent:NO];
PS:如果你想在所有屏幕上进行,请全局设置
<强>夫特强>
UINavigationBar.appearance().isTranslucent = false
目标C
[[UINavigationBar appearance] setTranslucent:NO];
答案 1 :(得分:1)
将您的UINavigationBar半透明属性设置为false。
故事板:在故事板中取消选中半透明属性
<强>夫特:强>
self.navigationController.navigationBar.isTranslucent = false
在AppDelegate中(didFinishLaunchingWithOptions):
UINavigationBar.appearance().isTranslucent = false
答案 2 :(得分:0)
您可以使用此
更改导航栏的颜色UINavigationBar *bar = [self.navigationController navigationBar];
[bar setTintColor:[UIColor greenColor]]; //Change the color according to your requirement.
答案 3 :(得分:0)
试试这个
目标C
self.navigationController.navigationBarHidden=NO;
[self.navigationController.navigationBar setTitleTextAttributes: @{NSForegroundColorAttributeName:White,NSFontAttributeName:yourFont}];
self.navigationController.navigationBar.barTintColor = yourColor;
<强>夫特强>
self.navigationController?.navigationBar.barTintColor = .red //yourColor
self.navigationController?.navigationBar.tintColor = .white //yourColor