更改选定的TabBarItem字体iOS

更改选定的TabBarItem字体iOS,第1张

概述我有一个TabBar.我试图设置它的样式,以便TabBarItems上的标题具有正常状态和选定状态的不同字体.对于正常状态,我想要Helvetica Neue Light,对于选定状态,我想要Helvetica Neue Medium.无论我做什么,我似乎都无法让这两种状态的字体不同.颜色变化很好.这是我目前拥有的: // Set the tab bar title appearance for 我有一个Tabbar.我试图设置它的样式,以便TabbarItems上的标题具有正常状态和选定状态的不同字体.对于正常状态,我想要Helvetica Neue light,对于选定状态,我想要Helvetica Neue Medium.无论我做什么,我似乎都无法让这两种状态的字体不同.颜色变化很好.这是我目前拥有的:
// Set the tab bar Title appearance for normal state.  [[UITabbarItem appearance] setTitleTextAttributes:@{     NSFontAttributename: [UIFont FontWithname:@"HelveticaNeue-light"                                          size:16],NSForegroundcolorAttributename: [CMK8colors graycolor]   }                                           forState:UIControlStatenormal];  // Set the tab bar Title appearance for selected state.  [[UITabbarItem appearance] setTitleTextAttributes:@{     NSFontAttributename: [UIFont FontWithname:@"HelveticaNeue-Medium"                                          size:16],NSForegroundcolorAttributename: [CMK8colors bluecolor]   }                                           forState:UIControlStateSelected];

请帮忙.

解决方法 好消息和坏消息.

坏消息,这比使用外观代理要困难一些.

好消息它并没有那么难!

#import <UIKit/UIKit.h>@interface MYTabbyVIEwController : UITabbarController@end

履行

#import "MYTabbyVIEwController.h"@implementation MYTabbyVIEwController-(voID)setSelectedVIEwController:(UIVIEwController *)selectedVIEwController{    [super setSelectedVIEwController:selectedVIEwController];    for (UIVIEwController *vIEwController in self.vIEwControllers) {        if (vIEwController == selectedVIEwController) {            [vIEwController.tabbarItem setTitleTextAttributes:@{                                                    NSFontAttributename: [UIFont FontWithname:@"HelveticaNeue-Medium" size:16],NSForegroundcolorAttributename: [UIcolor bluecolor]                                                    }                                         forState:UIControlStatenormal];        } else {            [vIEwController.tabbarItem setTitleTextAttributes:@{                                                    NSFontAttributename: [UIFont FontWithname:@"HelveticaNeue-light" size:16],NSForegroundcolorAttributename: [UIcolor graycolor]                                                    }                                         forState:UIControlStatenormal];        }    }}

您将需要的最后一部分是使用此子类而不是开箱即用的UITabbarController.如果您正在使用Storyboard,只需选择TabbarController,转到IDentity Inspector(右侧面板中的第三个子选项卡)并将UITabbarController更改为MYTabbarController或您拥有的内容.

但是啊!底线,只需更新VIEwController tabbarItem!

总结

以上是内存溢出为你收集整理的更改选定的TabBarItem字体iOS全部内容,希望文章能够帮你解决更改选定的TabBarItem字体iOS所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存