【发布时间】:2017-07-24 11:19:14
【问题描述】:
完全被难住了。我已经查看并实施了我能找到的所有解决方案。我似乎无法让导航栏变得透明。
当尝试设置背景颜色时,我只是在顶部看到一个黑条。就像我尝试设置背景图像一样。我已经尝试了所有这些,并且所有这些都有很多变化。
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()
}
}
我也尝试将背景颜色设置为白色,并更改 alpha = 0,但这也不起作用。
非常感谢任何帮助。
【问题讨论】:
标签: ios swift swift3 uinavigationcontroller uinavigationbar