iOS 11 自定义UINavigationBar适配问题,导航条向上偏移20点问题
程序员文章站
2022-05-30 11:58:26
...
iOS 11 自定义UINavigationBar适配问题,导航条向上偏移20点问题
UINavigationBar结构改变了,需要将barcontentview frame调整一下
解决方案 自己写一个类 继承UINavigationBar 重写layoutSubviews方法改变frame即可。
- (void)layoutSubviews {
[super layoutSubviews];
#ifdef __IPHONE_11_0
if (@available(iOS 11.0, *)) {
self.hx_h = kNavigationBarHeight;
for (UIView *view in self.subviews) {
if([NSStringFromClass([view class]) containsString:@"Background"]) {
view.frame = self.bounds;
}
else if ([NSStringFromClass([view class]) containsString:@"ContentView"]) {
CGRect frame = view.frame;
frame.origin.y = kNavigationBarHeight - 44;
frame.size.height = self.bounds.size.height - frame.origin.y;
view.frame = frame;
}
}
}
#endif
}
上一篇: opencv运动物体识别