新建一个工程,模版选择Tabbed Application
。运行可以得到以下界面:
接下来我们希望First显示的是一个星星的图标,切好系统有预定义,所以我们来设置它:
运行。得到我们想要的结果:
我们想把这个图表底下的文字显示成最爱
。在title
属性中设置,回车确认,发现System Item
变为了Custom
。运行结果并不是我们所预期的一个星星图标,且文字是最爱。
也就是说,如果你想用系统的图标,那么文字是不能改的,必须配套使用。那么有办法更改文字吗?有的。
我们子类化一个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;
}
}];
}
在运行一下:
结果正是我们想要的。