UITabBarItem中自定义图片

2016.7.8更新:
其实只要在UITabBarController中做如下设置即可:

UIImage * normalImage = [[UIImage imageNamed:@"sy1.png"]  imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage * selectImage = [[UIImage imageNamed:@"sy.png"]  imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

NSArray *array =  self.viewControllers;
UINavigationController * nav = (UINavigationController *)array[0];
nav.tabBarItem.image = normalImage;
nav.tabBarItem.selectedImage = selectImage;
nav.tabBarItem.title = @"首页";

使用UITabBarController时经常需要给每一个tabBarItem设置自己的图片,图片有两种状态一种未选中状态,另一种选中状态。默认情况下未选中状态是灰色,选中状态为蓝色,即使你设置了图片也不会显示出清晰的图片。如下图一样。


1.默认图标状态

所以如果希望出现如下效果则需要自定义图片。步骤如下:

一、所使用的图片有如下标准样式

30*30像素大小、150dpi(分辨率)、透明背景、png格式。调整这些参数可以用mac自带的预览软件来调整。大小和dpi可以通过预览“工具”中的对应操作。
这里解释透明背景怎么做:

UITabBarItem中自定义图片_第1张图片
1.1 单击“显示标记工具栏”
1.2 选择“即时Alpha”
UITabBarItem中自定义图片_第2张图片
1.3 单击选择图片不放,一直拖动直到需要的区域都选中后,再单击“裁剪”,然后从“文件”中选择“导出”即可

二、自定义tabBarItem.image属性

 //通过如下事例代码即可。如果想让显示图标为自己的图片而不是未选中时为灰色,选中后为蓝色时需自定义图片.
//设置图片呈现模式不作为模版图片,这样不会忽略颜色信息。
self.tabBarItem.image = [[UIImage imageNamed:@"wechat.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

 //设置选中后的图片
 self.tabBarItem.selectedImage = [[UIImage imageNamed:@"wechat2.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

效果如图:

UITabBarItem中自定义图片_第3张图片
2.1
UITabBarItem中自定义图片_第4张图片
2.2

你可能感兴趣的:(UITabBarItem中自定义图片)