完全难倒。我看了一遍,实现了我能找到的每一个解决方案。我似乎无法让导航栏变得透明。
尝试设置背景颜色时,我只在顶部找到一个黑色条。就像我尝试设置背景图像一样。我已经尝试了所有这些以及所有这些变化。
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,但这也不起作用。
任何帮助非常感谢。
答案 0 :(得分:0)
这是因为窗口的背景颜色为黑色
您应该设置window?.backgroundColor = UIColor.white
在AppDelegate application didFinishLauchingWithOptions
方法