2
完全难倒。我已经看遍了所有,并实施了我能找到的每个解决方案。我似乎无法让导航栏变得透明。导航控制器黑色时,试图使透明
当试图设置背景颜色时,我只是在顶部看到一个黑色条。就像我试图设置背景图像一样。我尝试了所有这些和所有的变化。
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.backgroundColor = UIColor.clear
我使用它 viewWillAppear中()和动画滚动时。导航栏是透明的,然后当您滚动导航栏时,会获得带有灰色文本的白色背景。
func scrollViewDidScroll(_ scrollView: UIScrollView) {
self.navigationController?.navigationBar.barStyle = .default
let offset = self.tableView.contentOffset.y
if offset > 250.0 {
self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.darkGray]
self.navigationController?.navigationBar.topItem?.title = spot!.Name
self.navigationController?.navigationBar.isTranslucent = false
self.navigationController?.navigationBar.tintColor = UIColor.darkGray
self.navigationController?.isNavigationBarHidden = false
self.navigationController?.navigationBar.barTintColor = UIColor.white
}
else {
self.navigationController?.navigationBar.topItem?.title = nil
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.isNavigationBarHidden = false
self.navigationController?.navigationBar.tintColor = UIColor.white
self.navigationController?.navigationBar.barTintColor = UIColor.white
self.navigationController?.navigationBar.shadowImage = UIImage()
}
}
我也试过背景颜色设置为白色,并改变了阿尔法= 0,但这并不能工作。
任何帮助非常感谢。
这有助于,但我仍然不能得到它完全透明..我现在在顶部有一个完整的白色酒吧! – chuninator
我试过你的方法了,我为我工作,检查你的scrollview的y,看它是否在navbar下 – menq