将 prefersLargeTitles 用于 aUINavigationController
时UINavigationBar
,iOS 11
导航栏会增加高度。我检查过的 iPhone 从 44 增加到 96,但我认为这些数字可能会因设备而异(或者至少我们需要像可以编码一样进行编码)。
我想以编程方式找到“额外”高度 -UINavigationBar
显示大标题时在传统下方添加的大标题区域的高度。我可以很容易地找到显示大标题的栏的整个高度,但是有没有办法以编程方式单独找到栏的大标题部分的高度(没有任何硬编码)?
我需要这个的原因是有时我想以编程方式滚动到 UITableView 的顶部,拉下大标题(它在“常规高度”导航栏下向上滚动)以便它显示,并且我需要的内容偏移是导航栏的额外高度。我可以使用导航栏的总高度,但这会将 UITableView 拉得太低。现在要做到这一点,我需要硬编码如下:
[self.tableView setContentOffset:CGPointMake(0, -52) animated:NO];