我需要使用自定义视图重新创建导航栏,因为比将视图从Apple插入到实际导航栏中要容易得多。 我需要插入搜索栏和一些按钮。
但是我在设置自定义导航栏视图的大小时遇到问题,在某些iOS设备中,它似乎比苹果的导航栏大一点,我设置了自动布局,如下图所示。将前导,尾随和顶部约束到超级视图,然后将宽高比设置为375:80
自定义视图是红色的。 orangeVC中的导航栏来自苹果,是使用导航控制器
https://phpspreadsheet.readthedocs.io/en/develop/
这是结果,对于iPhone XR,XSMax,它看起来很棒,尺寸看起来也一样。
如何正确制作具有与Apple导航栏相同大小的自定义视图?
答案 0 :(得分:1)
您从哪里获得375:80的比例? 这是不正确的。 默认情况下,NavigationBar的高度为44,对于iPhone X,XR,XS,XS Max和其他类型的Notch类型的设备,StatusBar的高度为44。
因此,对于Notch型设备,您需要将其设置为88;对于其他类型,您需要将其设置为64,而不是比率。祝你好运!
答案 1 :(得分:0)
答案 2 :(得分:0)
到目前为止,我发现的最好方法是无需创建导航控制器实例:
[self.navigationBar sizeThatFits:CGSizeZero].height;