创建透明导航栏不再适用于 ios 11。 我在顶部得到了这个黑条,因为表格 View 不再位于条下( Storyboard 中的插图已正确设置为从 0 开始) 有什么想法吗?
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
最佳答案
我遇到了同样的问题,我能够解决它。 这是对我有用的:
public override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.backgroundColor = UIColor.clear
self.navigationController?.navigationBar.isTranslucent = true
if #available(iOS 11.0, *) {
collectionView.contentInsetAdjustmentBehavior = .never
} else {
// Fallback on earlier versions
}
}
还有一件事,我发现仍然有必要让它发挥作用。很可能您的 UICollectionView/UITableView/UIScrollview 与安全区域的顶部对齐。改为将此约束更改为与 super View 的顶部对齐。
就是这样。是不是直截了当又直观?谢谢苹果。
关于ios 11透明导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46393944/