首页 > 代码库 > iOS 为导航栏自定义按钮图案Button Image 运行出来的颜色与原本颜色不一样 -解决方案
iOS 为导航栏自定义按钮图案Button Image 运行出来的颜色与原本颜色不一样 -解决方案
为相机制作闪光灯,在导航栏自定义了“闪光”图案,希望点击时变换图片,但是一直没有改变,原来是因为设置了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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。