美文网首页iOS
iOS11设置返回按钮title为空

iOS11设置返回按钮title为空

作者: willwj | 来源:发表于2017-09-22 14:53 被阅读3904次

    iOS11之前设置返回按钮的文字偏移来使title为空,iOS11失效了。

    [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)
                                                             forBarMetrics:UIBarMetricsDefault];
    

    iOS11的导航栏结构有比较大的改变,可以创建一个UIView的类目加入如下代码,放入工程就可以使iOS11上返回按钮title为空。(记得导入pod 'JRSwizzle')

    + (void)load
    {
        if (@available(iOS 11, *)) {
            [NSClassFromString(@"_UIBackButtonContainerView")     jr_swizzleMethod:@selector(addSubview:) withMethod:@selector(iOS11BackButtonNoTextTrick_addSubview:) error:nil];
        }
    }
    - (void)iOS11BackButtonNoTextTrick_addSubview:(UIView *)view
    {
        view.alpha = 0;
        if ([view isKindOfClass:[UIButton class]]) {
            UIButton *button = (id)view;
            [button setTitle:@" " forState:UIControlStateNormal];
        }
        [self iOS11BackButtonNoTextTrick_addSubview:view];
        
    }
    

    以上方法不要用了,iOS11.3之后会出现BUG。Push 或 Pop Animated为YES时内存会无限暴涨直至崩溃。
    可使用以下代码替代:

        [[UIBarButtonItem appearance] setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:0.1], NSForegroundColorAttributeName: [UIColor clearColor]} forState:UIControlStateNormal];
    

    相关文章

      网友评论

      • Haha_kd:[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-1000, 0)
        forBarMetrics:UIBarMetricsDefault];
        横向隐藏就行了,左或者右都行
        能量达人儿:纵横的话会导致图标下移,横线的方式可以的:+1:
      • FengxinLi:请问我把文件导入到工程中 运行时[_UIBackButtonContainerView jr_swizzleMethod:withMethod:error:]: unrecognized selector sent to class 0x1b00d0aa0' 抱这个错误是怎么回事呢?
        willwj:@FengxinLi 你加我QQ看下是什么问题吧 369206406
        FengxinLi:@willwj 我自定义的返回按钮 但是没有文字。现在ios11上面按钮下移了,但是我按照你说的 还是报上面的错误
        willwj:创建UIView的类目,使用pod 或者 直接拖入 JRSwizzle ,然后在类目的.m文件里引入 #import "JRSwizzle.h"。
      • FengxinLi:请问一下 JRSwizzle 会被拒不?
        willwj:@FengxinLi 可以的
        FengxinLi:@willwj 直接倒入 JRSwizzle的h,和m文件可以用吗?
        willwj:不会的

      本文标题:iOS11设置返回按钮title为空

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