iOS 11 自定义UINavigationBar适配问题,导航条向上偏移20点问题

来源:互联网 发布:深圳软件免费培训 编辑:程序博客网 时间:2024/06/05 09:59

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}
阅读全文
0 0
原创粉丝点击