iOS 11 prefersLargeTitles 奇怪的过渡
iOS 11 prefersLargeTitles Weird Transition
所以我对 iOS 11 中的新大标题有一个奇怪的问题。我在这里没有试图糟糕和令人困惑地解释这个问题,而是一个 10 秒的屏幕录像来记录正在发生的事情:
Screen recording of issue on YouTube
如您所见,在具有
的视图控制器之间转换时会出现一个奇怪的黑条
navigationItem.largeTitleDisplayMode = .never
还有一个设置为 .always
提前致谢!
在转换之前设置:
self.navigationController?.view.backgroundColor = .white
正如 Pranav 所说,这里的问题是导航控制器视图的背景颜色,但是,从子视图控制器更改它并不是完美的方法。
相反,更好的方法是继承 UINavigationController
并在 viewDidLoad()
中设置
override func viewDidLoad()
{
super.viewDidLoad()
view.backgroundColor = .white
}
然后,只需使用您的自定义子类而不是标准 UINavigationController
。这样,您只需要在一个地方使用此代码。
所以我对 iOS 11 中的新大标题有一个奇怪的问题。我在这里没有试图糟糕和令人困惑地解释这个问题,而是一个 10 秒的屏幕录像来记录正在发生的事情:
Screen recording of issue on YouTube
如您所见,在具有
的视图控制器之间转换时会出现一个奇怪的黑条navigationItem.largeTitleDisplayMode = .never
还有一个设置为 .always
提前致谢!
在转换之前设置:
self.navigationController?.view.backgroundColor = .white
正如 Pranav 所说,这里的问题是导航控制器视图的背景颜色,但是,从子视图控制器更改它并不是完美的方法。
相反,更好的方法是继承 UINavigationController
并在 viewDidLoad()
中设置
override func viewDidLoad()
{
super.viewDidLoad()
view.backgroundColor = .white
}
然后,只需使用您的自定义子类而不是标准 UINavigationController
。这样,您只需要在一个地方使用此代码。