将标签栏设置为透明但不能将其恢复为默认样式

问题描述 投票:0回答:1

我可以使用下面的代码将tabBar设置为透明,但我不知道如何将其恢复为默认样式。如果可以,请帮助,非常感谢!

tabBarController?.tabBar.backgroundColor = .clear
    tabBarController?.tabBar.backgroundImage = UIImage()
    tabBarController?.tabBar.shadowImage = UIImage()
ios swift tabbar
1个回答
1
投票

在设置标签栏以清除颜色之前,请保存所有属性

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

最后在tabBar上调用layoutIfNeeded希望它有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.