新建一个工程,模版选择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。运行结果并不是我们所预期的一个星星图标,且文字是最爱。

也就是说,如果你想用系统的图标,那么文字是不能改的,必须配套使用。那么有办法更改文字吗?有的。
我们子类化一个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
结果正是我们想要的。












网友评论