iOS 为导航栏自定义按钮图案Button Image 运行出来的颜色与原本颜色不一样 -解决方案
2014-07-08 16:10
357 查看
为相机制作闪光灯,在导航栏自定义了“闪光”图案,希望点击时变换图片,但是一直没有改变,原来是因为设置了Global Tint的颜色,所以系统会自动把图片的颜色改为Global Tint的颜色。
解决方案,设置图片时,添加:imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal
源码:
- (void) setFlashOn:(BOOL)isOn
{
if (self.captureDevice.hasFlash) {
UIImage* flashlIcon;
[self.captureDevice lockForConfiguration:nil]; //you must lock before setting torch mode
if (isOn) {
NSLog(@"set flash on");
[self.captureDevice setFlashMode:AVCaptureFlashModeOn];
flashlIcon = [UIImage imageNamed:@"flash_on"];
}
else{
NSLog(@"set flash off");
[self.captureDevice setFlashMode:AVCaptureFlashModeOff];
flashlIcon = [UIImage imageNamed:@"flash_off"];
}
[self.captureDevice unlockForConfiguration];
[self.navigationItem.rightBarButtonItem setImage:[flashlIcon imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
}
else{
NSLog(@"Sorry, this device doesn't have flash.");
}
}
参考:
http://stackoverflow.com/questions/21252194/navigation-bar-button-item-image-color-is-different-when-design-through-xib-of-x
解决方案,设置图片时,添加:imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal
源码:
- (void) setFlashOn:(BOOL)isOn
{
if (self.captureDevice.hasFlash) {
UIImage* flashlIcon;
[self.captureDevice lockForConfiguration:nil]; //you must lock before setting torch mode
if (isOn) {
NSLog(@"set flash on");
[self.captureDevice setFlashMode:AVCaptureFlashModeOn];
flashlIcon = [UIImage imageNamed:@"flash_on"];
}
else{
NSLog(@"set flash off");
[self.captureDevice setFlashMode:AVCaptureFlashModeOff];
flashlIcon = [UIImage imageNamed:@"flash_off"];
}
[self.captureDevice unlockForConfiguration];
[self.navigationItem.rightBarButtonItem setImage:[flashlIcon imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
}
else{
NSLog(@"Sorry, this device doesn't have flash.");
}
}
参考:
http://stackoverflow.com/questions/21252194/navigation-bar-button-item-image-color-is-different-when-design-through-xib-of-x
相关文章推荐
- iOS 要定义自己的导航栏button样式Button Image 执行出彩是不一样的与原来的颜色 -解
- ios开发之自定义默认生成的导航栏 标题 颜色 返回按钮
- 自定义iOS导航栏背景,标题和返回按钮文字颜色
- Android之自定义背景Button按钮、自定义形状Button的全攻略、设置字体颜色
- 自定义默认生成的导航栏 标题 颜色 返回按钮
- 转载 :Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法。
- ios设置导航栏背景图片、返回按钮背景、标题颜色等等
- IOS 使用自定义手势屏蔽按钮解决方法/UITapGestureRecognizer屏蔽Button
- iOS开发笔记[17/50]:导航栏里的"Back"按钮显示不出来
- IOS 使用自定义手势屏蔽按钮解决方法/UITapGestureRecognizer屏蔽Button
- Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法。 .
- Android中ImageButton自定义按钮的按下效果的代码实现方法
- java完美渐隐图案按钮 Fading Image Button
- Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法。
- Android自定义view 之 圆环ImageView 和 圆角按钮Button
- Android中ImageButton自定义按钮的按下效果的代码实现方法
- iOS自定义按钮--NVUIGradientButton
- iOS cocos2d实现自定义button(按钮特效)控件效果源码
- ios设置导航栏背景图片、返回按钮背景、标题颜色等等
- Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法