ios 11透明导航栏

标签 ios swift uinavigationbar navbar ios11

创建透明导航栏不再适用于 ios 11。 我在顶部得到了这个黑条,因为表格 View 不再位于条下( Storyboard 中的插图已正确设置为从 0 开始) 有什么想法吗?

enter image description here

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 的顶部对齐。

enter image description here

就是这样。是不是直截了当又直观?谢谢苹果。

关于ios 11透明导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46393944/

相关文章:

swift - Controller 纳米格。 TagSelectController 或 TagSelectionController

ios - 在导航栏项目之间创建空白区域?

ios - 如何使用缩放和平移为 MapView 添加自定义平面图

iphone - Xcode 5 UINavigationBar TintColor 属性未显示

ios - 滑动图像数组时出现内存泄漏

ios - 更新 Xcode Swift

ios - UIWebView canPerformAction 不禁用某些菜单项

objective-c - UILabel 在 UITableViewCell 中变为 nil

ios - 在 UINavigationBar 中的 UIBarButton 是 Selectable 之前,确保用户在 UIViewController 中填写了两个 UITextField

ios - 在 NavigationBarHidden 之后,StatusBar 太糟糕了