OC - 使用 系统自己的UITabBarController 出现selectedImage的颜色为默认蓝色

一、点击后的tabbar按钮的文字和图片是默认的蓝色,而不是程序员定义好的选中图片。

1. 这是因为tabbarController的 selectedImage会自动进行渲染。

2. 解决办法:

第一种 : 使用 以下的方法:

UIImage *mSelectedImage = [UIImage imageNamed:@"tabBar_essence_click_icon"];

// 这个是主要的
mSelectedImage = [mSelectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; essenceVC.tabBarItem.selectedImage = mSelectedImage;

3. imageWithRenderingMode方法的作用是 : 设置UIImage的渲染模式

有三种模式:

  1. UIImageRenderingModeAutomatic  // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式。
  2. UIImageRenderingModeAlwaysOriginal   // 始终绘制图片原始状态,不使用Tint Color。
  3. UIImageRenderingModeAlwaysTemplate   // 始终根据Tint Color绘制图片,忽略图片的颜色信息。

4. 第二种: 点击 图片 ,选择右侧的 “实用工具栏” -> 最右边的 -> "Render  As" -> 选“Original Image”.

如图:

时间: 2024-08-07 15:55:53

OC - 使用 系统自己的UITabBarController 出现selectedImage的颜色为默认蓝色的相关文章

用系统图标创建UITabBarController

有时候为了节省时间,做一些简单实用的选项卡界面.我们也会用系统自带的一些选项卡图标.实现方式如下: 初始化一个UITabBarController: UITabBarController *_tab = [[UITabBarController alloc]init]; 初始化一个UITabBarItem为系统item,在此处你也可以修改它的标题和其他属性: UITabBarItem *item0 = [[UITabBarItem alloc]initWithTabBarSystemItem:U

Linux系统入门学习:改变libvirt VM镜像的默认位置

提问: 我使用libvirt和virt-manager在我的Linux系统上创建虚拟机.我注意到虚拟机镜像位于/var/lib/libvirt/images目录.有没有办法改变虚拟机镜像的默认路径? libvirt和它的GUI前端 virt-manager 可以使用不同的虚拟机管理程序创建和管理VM,例如LVM和Xen.默认上所有的虚拟机镜像通过 libvirt 创建到/var/lib/libvirt/images目录.然而,这有时并不是我们希望的.比如 /var/lib/libvirt/ima

Linux系统改变ls文件和文件夹颜色方法

本人之前就针对蓝色文件夹的颜色  我是这样修改的:    cp /etc/DIR_COLORS   ~/.dir_colors vim   ~/.dir_colors   , 将DIR 01;33   改为  DIR 01;36    效果还好: 但是最近浏览网页的时候,有人把文件夹颜色改为白色,之后添加了背景色蓝色,,,效果比较华丽,,,,就是不知道长久用好不,,, 下面粘贴原文: --------------------------------------------------------

iOS 绘制1像素的线

一.Point Vs Pixel iOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量.系统在实际渲染到设置时会帮助我们处理Point到Pixel的转换. 这样做的好处隔离变化,即我们在布局的事后不需要关注当前设备是否为Retina,直接按照一套坐标系统来布局即可. 实际使用中我们需要牢记下面这一点: One point does not necessarily correspond to one physical pixel. 1

iOS如何正确绘制1像素的线

一.Point Vs Pixel iOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量.系统在实际渲染到设备时会帮助我们处理Point到Pixel的转换.这样做的好处隔离变化,即我们在布局的时候不需要关注当前设备是否为Retina,直接按照一套坐标系统来布局即可. 实际使用中我们需要牢记下面这一点: One point does not necessarily correspond to one physical pixel. 1 P

iOS: 如何正确的绘制1像素的线

一.Point Vs Pixel iOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量.系统在实际渲染到设置时会帮助我们处理Point到Pixel的转换. 这样做的好处隔离变化,即我们在布局的事后不需要关注当前设备是否为Retina,直接按照一套坐标系统来布局即可. 实际使用中我们需要牢记下面这一点: 1 One point does not necessarily correspond to one physical pixel.

iOS开发>学无止境 - 如何正确的绘制1像素的线

一.Point Vs Pixel iOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量.系统在实际渲染到设置时会帮助我们处理Point到Pixel的转换. 这样做的好处隔离变化,即我们在布局的事后不需要关注当前设备是否为Retina,直接按照一套坐标系统来布局即可. 实际使用中我们需要牢记下面这一点: One point does not necessarily correspond to one physical pixel. 1

##DAY2 UILabel、UITextField、UIButton、UIImageView、UISlider

#pragma mark ———————UILabel——————————— UILabel属性: text:文本内容 textColor:内容的颜色 textAlignment:对齐方式(水平方向) font:字体 numberOfLines:行数 lineBreakMode:断行模式 shadowColor:阴影颜色 shadowOffset:阴影大小(阴影向x正?向偏移a,向y正?向偏移b) #pragma mark ———————UITextField —————————— UIText

python3内置的tkinter参数释疑

最近涉及到需要实现一个桌面UI的小游戏,所以就翻看了一些文档. 当然有介绍使用pyQT5的,但是本机安装的是python3.4,不想卸载掉这个版本,暂时还不能使用pyQT5. pyQT5需要python3.5及以上的版本才能行. 所以就使用python自带的tkinter了. 总的来说,图形界面的使用基本都是相通的,只要学通一个,其他的也会非常方便的入门. 祝各位能够找到自己所需,那么,我这篇文章也就还算有一些价值了. tkinter是Tk interface代表着图形工具接口,当前python