gpt4 book ai didi

ios - 为什么将 shadowImage 设置为 nil 不适用于 iOS 11?

转载 作者:搜寻专家 更新时间:2023-10-31 21:46:26 25 4
gpt4 key购买 nike

我有一个导航栏,其中 prefersLargeTitles 设置为 True。单击表格 View 中的单元格以显示详细 View 时,我希望使用以下方法使导航栏变得透明,效果很好:

self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true

当在详细 View 上按下后退按钮返回主视图 Controller 时,我调用:

self.navigationController?.navigationBar.setBackgroundImage(nil, for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = nil

不幸的是,导航栏的阴影 View 不会返回,如下所示。我错过了什么?

Initial

enter image description here

最佳答案

这在 Xcode 10.1、iOS 12.1 中对我有用。

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)

// 1. hide it in the current view controller you want it hidden in
navigationController?.navigationBar.setValue(true, forKey: "hidesShadow")
navigationController?.navigationBar.layoutIfNeeded()
}

override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(true)

// 2. show it in when pushing or popping in the next view controller
navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
navigationController?.navigationBar.setValue(false, forKey: "hidesShadow")
navigationController?.navigationBar.layoutIfNeeded()
}

关于ios - 为什么将 shadowImage 设置为 nil 不适用于 iOS 11?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48004912/

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