以下代码在将自定义图像设置为UINavigationBar的背景时效果很好:
// In AppDelegate.swift:
let image = UIImage(named:"HeaderBanner-new")
UINavigationBar.appearance().setBackgroundImage(image, for: UIBarMetrics.defaultPrompt)
自从切换到Xcode 9,Swift 4和iOS 11以来,此代码不再起作用。我所得到的只是UINavigationBar中的纯白色背景。
我还尝试将代码移出
AppDelegate.swift
并将其直接放在根自定义UINavgiationController.swift
文件中: let image = UIImage(named:"HeaderBanner-new")
self.navigationBar.setBackgroundImage(image, for: UIBarMetrics.defaultPrompt)
仍然不起作用。
有什么想法吗-或解决方法/黑客的想法?
最佳答案
似乎NavigationBar.setBackgroundImage无法在iOS 11中按预期工作。
我遇到了同样的问题,并通过使用NavigationBar.barTintColor进行了修复,并且可以正常工作。
请参阅this answer。
关于uinavigationbar - UINavigationBar背景图像-在iOS 11中损坏?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46775647/