更改系统tab栏的标题

新建一个工程,模版选择Tabbed Application。运行可以得到以下界面:

3FD635B1-38EA-441E-9774-823623D6B2BD.png

接下来我们希望First显示的是一个星星的图标,切好系统有预定义,所以我们来设置它:

EE5EEEAD-6122-46B5-B714-E804FDE9E143.png

运行。得到我们想要的结果:

AC87CE91-682F-4FA2-BB6B-B3D800A35CD3.png

我们想把这个图表底下的文字显示成最爱。在title属性中设置,回车确认,发现System Item变为了Custom。运行结果并不是我们所预期的一个星星图标,且文字是最爱。

![9A9F4E60-1D9D-4E9B-B754-73020640F548.png](http://upload-images.jianshu.io/upload_images/45400-e815ed8e704b1b3e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

也就是说,如果你想用系统的图标,那么文字是不能改的,必须配套使用。那么有办法更改文字吗?有的。

我们子类化一个UITabBarController。并在viewDidLoad中更改。

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self.tabBar.items enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        UITabBarItem * item = obj;
        
        switch (idx) {
            case 0:
                [item setValue:@"最热" forKeyPath:@"_view._label._content"];
                break;
            default:
                break;
        }
    }];
}

在运行一下:

0A0732D0-6ACB-4573-9B55-01AA938C04EA.png

结果正是我们想要的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,270评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,797评论 4 61
  • webpack有什么作用? Webpack 是一个前端资源加载/打包工具,只需要相对简单的配置就可以提供前端工程化...
    宁静的夜阅读 7,591评论 0 4
  • 今天晚上我在网上算了一次塔罗牌,算的爱情,她问了我很多问题,其中一个问的是0~20之间选一个数字,我选了9这个...
    渝_阅读 6,261评论 0 2
  • 有些技能,你不在其位,无法习得其精髓。中国有句古话,不入虎穴焉得虎子?机缘巧合,我有机会在一家本地自媒体公司就职一...
    小饿阅读 5,791评论 1 3

友情链接更多精彩内容