如何为iOS 11中的大标题NavigationBar设置自定义背景图像?我正在使用我已经分配给storyboard中的navigationControllers的自定义子类。大标题的自定义背景图像iOS 11中的NavigationBar 11
这是我如何创建我的自定义的NavBar:
class CustomNavigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.navigationBar.tintColor = UIColor(red:1, green:1, blue:1, alpha:0.6)
self.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
if #available(iOS 11.0, *) {
self.navigationBar.prefersLargeTitles = true
self.navigationItem.largeTitleDisplayMode = .automatic
self.navigationBar.largeTitleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
self.navigationBar.barTintColor = UIColor.green
}
self.navigationBar.isTranslucent = false
self.navigationBar.setBackgroundImage(#imageLiteral(resourceName: "navigationBarBackground"), for: .default)
self.navigationBar.shadowImage = #imageLiteral(resourceName: "navigationBarShadow")
}
}
奇怪的setBackgroundImage(image, for: .default)
没有为大标题的工作。它适用于iOS 10之前,如果我旋转iPhone(并激活小NavBar)背景又回来了吗?
编辑: backgroundImage
仍然呈现,但以某种方式隐藏。只有当您开始滚动并且出现“正常”导航栏时,backgroundImage才可见。在这种情况下,barTintColor
也完全被忽略。
hi @alexkaessner。你有没有找到解决问题的办法..? – Tann
@OceanBlue不! :/我刚刚检查了一下新的NavBar。似乎对于显示的大布局有一个完全不同的观点,但这种观点不会改变。 – alexkaessner
可以设置导航栏背景颜色或bartintcolor。但不幸的是我无法设置导航栏背景图片。这是ios 11的错误吗?你知道什么吗..? – Tann