将我的Xcode更新为Xcode 8后,我正面临着这个奇怪的问题。当tab1被选中时,我有一个标签栏和3个标签栏标签栏和导航如下所示:
标签栏的背景颜色为白色,但显示为深色
当我选择任何其他标签时问题得到解决
在下图中我选择了tab2
我不知道它为什么会发生但是在tab1的ViewController中我有一个tableView而在tab2中我有一个ViewController
任何人都知道为什么会发生这种情况?
调试层次结构:
我不知道为什么但tabbar的UIVisualEffectBackdropView的背景颜色在tab1上是黑色的,而且它是透明的 其他标签
答案 0 :(得分:7)
对于因OP的不同原因而遇到此问题的任何人:
当我将行edgesForExtendedLayout = []
添加到我的UIViewController的loadView()
方法中stop my view going under the navigation bar时,这个问题就出现了。因此,删除该行,而是使用navigationController?.navigationBar.isTranslucent = false
为我修复它(尽管John Doe的解决方案也可行)。我想当你的工具栏下没有放置视图时,UIVisualEffectBackdropView
会变得不透明,而它恰好是黑色的。如果您的工具栏是透明的,这似乎会产生一个黑暗的工具栏。
答案 1 :(得分:3)
您可以在本地(例如,如果您有CustomTabBarController)和全局解决此问题。我在这里提供两种解决方案,仅供您使用:
<强> 1。本地强>
INSERT INTO tbl_certi_gnv
(placa,
id_rom,
nit_distribuidor,
nit_taller_conv,
nit_certificador,
fecha_certificacion_inicial,
fecha_ultima_revision,
fecha_proxima_revision,
boton_habilitado,
ciudad,
usuario_ingresa_datos,
fecha_procesamiento)
SELECT r_placa,
r_id_rom,
d_nit_distribuidor,
d_nit_taller_conv,
d_nit_certificador,
f_fecha_certificacion_inicial,
f_fecha_ultima_revision,
f_fecha_proxima_revision,
d_boton_habilitado,
r_ciudad,
d_usuario_ingresa_datos,
Getdate()
FROM #importsuic B
WHERE not exists (
select 1
FROM tbl_certi_gnv AS A
WHERE A.placa = B.r_placa
AND A.id_rom = B.r_id_rom)
<强> 2。全球:在你的AppDelegate.swift中:
class YourCustomTabBarVC: UITabBarController {
//MARK:- Initializers
required init?(coder aDecoder:NSCoder) {
super.init(coder: aDecoder)
__customInit()
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
__customInit()
}
fileprivate func __customInit() {
addObservers()
//Customize TabBar appearance:
tabBar.backgroundColor = UIColor.white
}
}
我建议你使用全局方法。添加那一行,瞧!你会争先恐后地写下这里的个人感谢信息!
答案 2 :(得分:2)
在我的toolBar上添加阴影会导致问题:
下面的代码在Xcode7(swift 2)中给了我正确的阴影,但是在更新到Xcode 8(swift 3)之后,它改变了我的其他栏的颜色(标签栏+导航栏):
toolbar.layer.masksToBounds = false
toolbar.layer.shadowOffset = CGSize(width: -1, height: 1)
toolbar.layer.shadowRadius = 1
toolbar.layer.shadowOpacity = 0.5
答案 3 :(得分:0)
这对我在进行搜寻时有帮助:
删除hidesBottomBarWhenPushed
或将其禁用。
destination.hidesBottomBarWhenPushed = false
答案 4 :(得分:0)
我刚刚将视图控制器的 background color
属性从 .default 更改为 .systemBackgroundColor