使用IB开发,直接拖动TabBarController,生成的多页面切换能够满足一般开发的需要,
但是遇到其tabbarItem默认的选中效果只是把颜色改变了(iOS默认是蓝色,先前写过一篇关于改变默认颜色的文章,Swift修改tabBarItem选中色和tabBar背景色,可配合参考)
像微信、网易新闻这些软件的tabbarItem都是自定义的,
也就是选中该tabbar的时候tabbarItem的图片,其实是发生改变的
上图看区别:
默认:
->选中
实际设计:
->选中
其实有个很简单的方法,在TabBarController中viewDidLoad()下,
首先获取所有tabBarItem
var items: [UITabBarItem] =self.tabBar.items as! [UITabBarItem]
//设置默认图片直接在IB添加新tabBar的时候Image选择好,这里是修改被选中时的图片
//通过name获取图片,将设计切好的图 放到Images.xcassets中
var tabbar0SelectedImage = UIImage(named: "tabba0")
var tabbar1SelectedImage = UIImage(named: "tabba1")
var tabbar2SelectedImage = UIImage(named: "tabba2")
//因为我的项目就三个tabbarItem
//设置selectedImage
items[0].selectedImage = tabbar0SelectedImage!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
items[1].selectedImage = tabbar1SelectedImage!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
items[2].selectedImage = tabbar2SelectedImage!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
Finished,这样就完成了
本文介绍了如何在Swift中为TabBarController的tabbarItem实现自定义选中效果图片。通过在viewDidLoad()中获取tabBarItem并设置选中状态下的图片,实现了类似微信、网易新闻那样的切换选中时图片变化的效果。

6222

被折叠的 条评论
为什么被折叠?



