我想自定义myUITabbarController,使得:
> UITabbar本身是完全黑色的
>项目标题的文本颜色为非突出显示状态的白色
>项目标题的文本颜色在突出显示状态为红色
>在标签栏中使用多彩图标
将UITabbar转黑
我猜想我需要使用UIAppearance API,实际上我可以使用以下方式转换UITbarbar黑色:[[UITabbar外观] setbarTintcolor:[UIcolor blackcolor]] ;.
2.和3.修改项目标题的颜色
然而,文本项目的颜色似乎没有做我想要的,在谷歌搜索之后,以下解决方案对我有意义,但它只将非突出显示的状态更改为白色,突出显示保持白色以及…
NSDictionary *TitleAttributes = @{NSForegroundcolorAttributename : [UIcolor whitecolor]};[[UITabbarItem appearance] setTitleTextAttributes:TitleAttributes forState:UIControlStatenormal];UIcolor *TitleHighlightedcolor = [UIcolor redcolor]; NSDictionary *highlightedTitleAttributes = @{NSForegroundcolorAttributename : TitleHighlightedcolor};[[UITabbarItem appearance] setTitleTextAttributes:highlightedTitleAttributes forState:UIControlStateHighlighted];
多彩多姿的物品
关于多彩多姿的图标,到目前为止的方法是简单地在Storyboards中设置图标,如下所示:
但是这并不是我想做的,只有在没有选择该项目的时候,它才会显示灰色的整个图标.当选择项目时,图标将完全消失.
这是原始图标:
这是当未选择项目时的外观:
而在这里它是被选定的,如所提到的图标完全消失:
所以我的问题是我能如何达到上述要求.我目前缺少什么?我最好在代码中做所有的事情,而不是在故事板中吗?
注意:我的目标是iOS版本大于7.0,因此如果iOS 7和iOS 8之间的行为有所不同,请包含任何特定于版本的信息.
解决方法 我和你有同样的问题.据我所知,不同的iOS版本没有区别.我以编程方式解决了这个问题:
>转动条黑色作品如下(您已经说过)(在AppDelegate中):
UITabbar.appearance().barTintcolor = UIcolor.blackcolor()
>要设置不同状态的标题的颜色,我使用这个代码(在AppDelegate中):
UITabbarItem.appearance().setTitleTextAttributes([NSForegroundcolorAttributename!: UIcolor.redcolor()],forState:.Selected)UITabbarItem.appearance().setTitleTextAttributes([NSForegroundcolorAttributename!: UIcolor.whitecolor()],forState:.normal)
(和4.)通过以编程方式设置图像并将渲染模式(imageWithRenderingMode :)更改为UIImageRenderingMode.AlwaysOriginal,可以实现不同状态的不同项目颜色,多色图标和不同项目颜色,这看起来如下这在所有视图控制器的第一个视图控制器类中):
var recentsItem = self.tabbarController!.tabbar.items![0] as UITabbarItemvar recentsItemImage = UIImage(named:"recents.png")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)var recentsItemImageSelected = UIImage(named: "recentsSelected.png")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)recentsItem.image = recentsItemImagerecentsItem.selectedImage = recentsItemImageSelected
我希望这有助于,如果您有以下任何问题,请随时问我.
总结以上是内存溢出为你收集整理的如何在iOS 7和iOS 8上正确定制UITabBar和UITabBarItem?全部内容,希望文章能够帮你解决如何在iOS 7和iOS 8上正确定制UITabBar和UITabBarItem?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)