在之前开发的过程中,遇到过这样一个小问题:给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这个枚举值是声明这张图片要按照原来的样子显示,