标签栏颜色随视图BackgroundColor略有变化

时间:2018-04-01 17:46:30

标签: ios swift xcode swift4 uitabbar

无论视图控制器中的视图颜色如何,是否仍然保持标签栏颜色完全相同?选中仪表板的底部图片比顶部图片更暗,因为视图控制器中的view.backGroundcolor = .lightGray。

enter image description here

我尝试将view.bottomAnchor设置为等于view.safeAreaLayoutGuide.bottomAnchor,但即使这样,如果视图设置为浅灰色,则标签栏将比具有白色背景的视图控制器稍暗。 我还设置了self.tabBar.barTintColor = .white 和self.tabBar.alpha = 1.0

当我检查十六进制代码中的确切颜色时,它不仅仅是一种感知事物。

相关代码行:

final class TabBarViewController: UITabBarController {
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.tabBar.barTintColor = .white
        self.tabBar.alpha = 1.0
    }
}

此代码是否应该在init中设置相应的视图控制器?

1 个答案:

答案 0 :(得分:1)

您为标签栏设置的颜色只是色调。获得绝对控制颜色的唯一方法是制作所需颜色的可调整大小的UIImage,并设置标签栏的backgroundImage属性。

https://developer.apple.com/documentation/uikit/uitabbar/1623469-backgroundimage