作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 UINavigationController
,其默认值为 navigationBar.prefersLargeTitles = true
。
当我推送
到一个新场景时,我将其切换为false
,让我们调用它(DetailsViewController
),将其更改为viewWillDisappear
。
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.navigationBar.prefersLargeTitles = false
}
现在在 DetailsViewController
中,我正在使用 willMove(toparent:)
。
override func willMove(toParent parent: UIViewController?) {
navigationController?.navigationBar.prefersLargeTitles = true
}
过渡回大标题。
观察随附的 iOS 13 如何执行此操作的快照以及 iOS 12 如何执行此操作,考虑到 iOS 12 是正确的行为。
iOS 13:
iOS 12:
最佳答案
你所做的事情总是错误的。您应该将导航栏的 prefersLargeTitles
设置为 true
一次,并且永远不要再触摸它。
更改每个 View Controller 对大标题的处理方式的方法是, View Controller 设置自己的 navigationItem
(在其 viewDidLoad
中)以具有所需的内容largeTitleDisplayMode
。所以如果第一个 vc.有 .always
,第二个有 .never
一切都会顺利。
关于ios - 导航栏大标题到小标题切换不流畅 iOS 13,粘性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58300644/
我是一名优秀的程序员,十分优秀!