gpt4 book ai didi

推送的 ViewController 中的 iOS 11 UINavigationBar 透明度

转载 作者:搜寻专家 更新时间:2023-11-01 07:06:45 24 4
gpt4 key购买 nike

我一直在尝试将 Apple Music 实现为推送 View Controller 的透明导航栏。网上有很多解决方案说把下面的代码放到viewDidLoad中:

navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()

但问题是它只适用于根 Controller ,例如带有项目列表的 UITableViewController。当我点击一个项目并打开它的详细信息时,我希望看到透明的导航栏,但在出现后它变成实心的(甚至不是半透明的)。即使设置 barTintColor 也无济于事。

我做错了什么?还是 iOS 11 中的已知问题?它曾经工作过...

最佳答案

我确认透明导航栏在 iOS 11 中不适用于推送的 View Controller ,而是显示为黑色,没有半透明的@screenshot。

enter image description here

首先,我已经提交了这个错误报告,最后 :) 我找到了一个快速的解决方法,即显示和关闭 UIViewcontroller 可以解决这个问题,如下所示:

if (self.navigationController!.viewControllers.count > 1) {
if #available(iOS 11.0, *) {
self.present(UIViewController(), animated: true, completion: {
self.dismiss(animated: false)
})
self.scrollView.contentInsetAdjustmentBehavior = .never
} else {
self.automaticallyAdjustsScrollViewInsets = false
}
self.extendedLayoutIncludesOpaqueBars = false
}

我在 viewWillAppear 中使用上面的代码,我的 UI 是在没有 Storyboard或 xib 的情况下以编程方式生成的,因此它可以无缝运行:)很高兴我得到了预期的结果@screenshot

enter image description here

关于推送的 ViewController 中的 iOS 11 UINavigationBar 透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47596100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com