Swift将tabBar设置为透明但不能将其还原为默认样式怎么解决?

标签: Swift
发布时间: 2017/12/22 16:17:05
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我用代码把tabBar设置为透明后,想用代码再将其改回默认样式,但是似乎做不了,怎么解决?

tabBarController?.tabBar.backgroundColor = .clear
tabBarController?.tabBar.backgroundImage = UIImage()
tabBarController?.tabBar.shadowImage = UIImage()


解决方法 1:

在设置tabBar为透明色前,保存所有属性设置:

let originalBackgroundImage = tabBarController?.tabBar.backgroundImage
let originalshadowImage = tabBarController?.tabBar.shadowImage
let originalbackgroundColor = tabBarController?.tabBar.backgroundColor

然后设置为透明色:

tabBarController?.tabBar.backgroundColor = .clear
tabBarController?.tabBar.backgroundImage = UIImage()
tabBarController?.tabBar.shadowImage = UIImage()

接着就可以把它改回默认样式了

tabBarController?.tabBar.backgroundColor = originalbackgroundColor
tabBarController?.tabBar.backgroundImage = originalBackgroundImage
tabBarController?.tabBar.shadowImage = originalshadowImage


官方微信
官方QQ群
31647020