我一直在努力为推送视图控制器实现Apple Music,就像透明导航栏一样。互联网上有很多解决方案,将下面的代码放入viewDidLoad:
___cxa_guard_acquire
但问题是它只适用于根控制器,例如带有项列表的UITableViewController。当我点击一个项目并打开它的细节时,我希望看到透明导航栏,但在出现后它变得坚固(甚至不是半透明的)。即使设置barTintColor也无济于事。
我做错了什么?或者它是iOS 11中的已知问题?以前它曾经工作过......
答案 0 :(得分:2)
我确认透明导航栏在iOS 11中不适用于推送的视图控制器,而是只显示黑色而没有半透明的@screenshot。
首先,我已经提交了这个错误报告,最后:)我找到了一个快速的解决方法,提出和解雇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
使用上面的代码,我的用户界面是以编程方式生成的,没有storyboard或xib,所以它无缝地工作:)很高兴我得到预期的结果@screenshot