iOS-对于把图片渲染成蓝色的修改方法

在之前开发的过程中,遇到过这样一个小问题:给button设置一张图片,图片是灰色,美工做的图肯定没有问题 ,给button设置图片的方法也很简单,一句代码搞定,但是运行的时候却发现,图片无缘无故变成了蓝色。后来自己研究了一下发现,在给一些控件设置图片的时候会默认把图片渲染成蓝色,找到问题所在,就好结局了,解决方法如下:

    UIButton *loginBtn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 50)];
    loginBtn.showsTouchWhenHighlighted = YES;
    UIImage *loginImg = [UIImage imageNamed:@"login"];
    loginImg = [loginImg imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    [loginBtn setImage:loginImg forState:UIControlStateNormal];
    [self.view addSubview:loginBtn];

- (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode

这个方法就是用来设置图片的渲染模式的

UIImageRenderingModeAlwaysOriginal这个枚举值是声明这张图片要按照原来的样子显示,不需要渲染成其他颜色

OK! 问题结局了。把这个小问题记录在这里 防止下次遇到又忘记怎么解决!

顺便添一句,如果你的美工没有给你button的尺寸,只是给了你button的图片,那么你可以直接取到图片的尺寸,然后把button设置为和图片同样大小的尺寸

    UIButton *loginBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    loginBtn.showsTouchWhenHighlighted = YES;
    UIImage *loginImg = [UIImage imageNamed:@"login"];
    loginImg = [loginImg imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
     [loginBtn setImage:loginImg forState:UIControlStateNormal];
    CGSize size = loginBtn.currentImage.size;//取到button的image的尺寸
    loginBtn.frame = CGRectMake(100, 100, size.width, size.height);
    [self.view addSubview:loginBtn];
时间: 2024-10-25 00:56:33

iOS-对于把图片渲染成蓝色的修改方法的相关文章

图片渲染成蓝色的问题

在之前开发的过程中,遇到过这样一个小问题:给button设置一张图片,图片是灰色,美工做的图肯定没有问题 ,给button设置图片的方法也很简单,一句代码搞定,但是运行的时候却发现,图片无缘无故变成了蓝色.后来自己研究了一下发现,在给一些控件设置图片的时候会默认把图片渲染成蓝色,找到问题所在,就好结局了,解决方法如下: 1 2 3 4 5 6 UIButton *loginBtn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100,

ios 将矩形图片裁剪成圆形图片

在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBounds = YES 就可以了, 但是对于长方形的图片来说这个方式裁剪出来的就不是一个圆形的了, 而是个椭圆的. 解决这个问题就需要自己画 并且需要计算. 最终效果图如下: tips: 如果是裁剪矩形的话, 是从图片中心的位置为圆心剪裁的. 代码如下: @implementation UIImage (C

iOS更改tabbar图片渲染 —不让tabbat有蓝色的渲染 并修改文字

方式一 代码实现 这种要写很多代码 ,每个控制器都要写 UIImage *image=[UIImage imageNamed:@"tabBar_friendTrends_click_icon"]; //    不让tabbar底部有渲染的关键代码 image=[image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; vc01.tabBarItem.selectedImage=image; 更改tabbar下方的

不让tabbat有蓝色的渲染 并修改文字(iOS更改tabbar图片渲染)

方式一 代码实现 这种要写很多代码 ,每个控制器都要写 UIImage *image=[UIImage imageNamed:@"tabBar_friendTrends_click_icon"]; //    不让tabbar底部有渲染的关键代码 image=[image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; vc01.tabBarItem.selectedImage=image; 更改tabbar下方的

IOS开发防止图片渲染的方法

IOS开发中,很多时候我们在给导航控制器或者其它的控制器中的部件添加图片的时候,图片会被渲染,下面就是处理图片渲染的方法. UIImage *image = [UIImage imageNamed:@"a.jpg"]; image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

pdf图片转换成jpg格式的方法

pdf转换成jpg格式虽说可以截图,但是效果不好,随意大多数朋友还是比较愿意用转换软件进行pdf转图片格式,那么pdf转换成jpg软件的到底该怎么用大家知道吗? 先将pdf格式转换器安装到我们的电脑中,方便我们使用: 打开软件找到“文件转图片”转换格式,(在pdf的其他操作里也有pdf图片获取功能,想要提取部分图片的可以使用该功能): 选择好格式之后,接下来要做的就是添加文件了,添加文件/添加文件夹按钮都可以来添加文件,直接将文件拖曵到软件内也是可以的: 添加好文件之后要做的就是设置文件的保存路

图片拉伸方法以及修改图片渲染模式以及如何把一个控制器包装成一个导航控制器

当我们给导航控制器的左侧或右侧的item设置图片的时候,设置完成后无论图片是什么颜色,将图片添加到item上的时候会被系统渲染成蓝色,这个时候如果我们想要使用图片本来的颜色,那么就可以用到下面这个方法: 下面这个方法就是对图片进行拉伸: - (void)viewDidLoad { [super viewDidLoad]; UIImage *NormalImg = [UIImage imageNamed:@"RedButton"]; UIImage *HightImg = [UIImag

照片转成pdf 如何把jpg图片转换成pdf格式

大家不知道还记不记得,那句台词"好男人就是我,我就是xxx"曾小贤.没错就是他<爱情公寓>毫无疑问近几年比较有特点的喜剧了,而且每个人都在盼望着第五季.尤其是到第四部结尾的时候,大家都希望曾小贤能和一菲在一起,在这时候它结束了,我们都幻想着爱情公寓第五季,可是迟迟没有音信.大家依然还记得子乔的小姨妈.楼下的小黑.婉瑜.展博. 这群年轻人跟现实生活中的我们一样,过着合租群租的生活,我们没有他们那么多的欢声笑语,可能这就是电视剧和现实差距,当我们最爱的几位主演都有了自己新的工作

iOS 关闭图片渲染

在为Button 设置背景图片的时候, 会发现显示的效果和UI给的图片不一样, 往往是把图片显示成为蓝色, 这是因为在新版的iOS中, 会自动对图片渲染. 我们只要把图片渲染关掉就OK了 - (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode 这个方法就是用来设置图片的渲染模式的 UIImageRenderingModeAlwaysOriginal这个枚举值是声明这张图片要按照原来的样子显示,不需要渲染成其他