QuintGao / GKNavigationBarViewController

iOS自定义导航栏-导航栏联动
https://www.jianshu.com/p/577755d0d69a
MIT License
727 stars 130 forks source link

导航栏高度 #52

Closed ghost closed 3 years ago

ghost commented 3 years ago

导航栏高度判断有问题。。怎么用固定frame来判断是否是iPhone X以上??之前也没注意。。。

QuintGao commented 3 years ago

前面有根据安全区域判断,获取不到keyWindow时才根据固定尺寸判断

ghost commented 3 years ago

我看iPhone12以上获取的是64,GK_STATUSBAR_NAVBAR_HEIGHT这个宏直接获取是64高度,把这个宏代码改了之后才对

ghost commented 3 years ago

CGFloat navBarH = 0; if (width > height) { // 横屏 if (GK_IS_iPhoneX) { navBarH = GK_NAVBAR_HEIGHT; }else { if (width == 736.0f && height == 414.0f) { // plus横屏 navBarH = self.gk_statusBarHidden ? GK_NAVBAR_HEIGHT : GK_STATUSBAR_NAVBAR_HEIGHT; }else { // 其他机型横屏 navBarH = self.gk_statusBarHidden ? 32.0f : 52.0f; } } }else { // 竖屏 navBarH = self.gk_statusBarHidden ? (GK_SAFEAREA_TOP + GK_NAVBAR_HEIGHT) : GK_STATUSBAR_NAVBAR_HEIGHT; }

self.gk_navigationBar.frame = CGRectMake(0, 0, width, navBarH);
self.gk_navigationBar.gk_statusBarHidden = self.gk_statusBarHidden;
[self.gk_navigationBar layoutSubviews];

我应该没改过源码,发现有问题才看了一下这块,估计我不是最新代码?

QuintGao commented 3 years ago

应该不是最新的 最新版本2.7.0了

ghost commented 3 years ago

好吧,之前自己测试时候都没问题,没注意这块代码,刚看到这里面是用固定frame判断是否是iPhone X

ghost commented 3 years ago

刚下了最新代码,看这块已经改了,用了安全区域判断,没问题了。。