美文网首页
iOS 11.0 导航栏返回按钮被遮盖问题

iOS 11.0 导航栏返回按钮被遮盖问题

作者: 柚子皮肤 | 来源:发表于2018-05-16 12:14 被阅读0次

    项目中使用

    UIImage *backImg = [[UIImage imageNamed:@"kqBlack_back_icon"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 30, 0, 0)];

        [[UIBarButtonItem appearance] setBackButtonBackgroundImage:backImg forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

    整体设置导航风格,字体和返回按钮

    整体设置导航栏返回按钮, 在ios11之前都是好的,但是ios11之后,就出现了问题,返回按钮被遮盖了,就剩下一点点,如图所示:

    解决方法:

    1, 不使用UIImage *backImg = [[UIImage imageNamed:@"kqBlack_back_icon"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 30, 0, 0)];

        [[UIBarButtonItem appearance] setBackButtonBackgroundImage:backImg forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 整体设置返回按钮,将这两句代码注释掉或者删掉.

    注释掉之前的设置

    2, 重写- (void)pushViewController:(UIViewController*)viewController animated:(BOOL)animated 方法,我的项目里是直接自己创建的添加手势的NavigationController,没有使用系统的手势,所以是自定义的NavigationController.

    在导航控制器里重写pushViewController方法,并添加返回按钮:

    重写pushViewController方法

    这样就可以解决在ios11.0 or 11+ 上导航栏的返回按钮被遮盖的问题了,而且还可以整体设置,不用再每个controller里单独设置.

    相关文章

      网友评论

          本文标题:iOS 11.0 导航栏返回按钮被遮盖问题

          本文链接:https://www.haomeiwen.com/subject/lycpdftx.html