iOS11设置返回按钮title为空

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];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言:弱者为什么执拗? 大三下在学swift的时候,给一款APP建过言,说他的APP返回按钮在按钮形状下是一团...
    iCoreMan阅读 1,622评论 4 3
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,267评论 4 61
  • 一 、使用git管理工程 1、可以使用OSChina远程管理工程(免费) 2、可以使用GitHub网站进行远程管理...
    YuGHo阅读 2,432评论 1 3
  • 那些年,当我们追寻的女孩被定义为爱情的时候,其实那一年我也定义自己的爱情了,石川河的互相一瞥,不知对方的你怎么解读...
    思想聚焦的原创阅读 711评论 0 6