Vin*_*ins 0 uiimagepickercontroller ios
这是我在iphone上更改闪光模式的代码.
在ios7.0中有效:flashmode(0,1,-1)
在ios7.1中不起作用:flashmode(0,0,0)
//UIImagePickerControllerCameraFlashModeOff = -1,
//UIImagePickerControllerCameraFlashModeAuto = 0,
//UIImagePickerControllerCameraFlashModeOn = 1
NSInteger flashMode = self.pickerReference.cameraFlashMode;
NSLog(@"flashmode %i",flashMode);
if (flashMode == UIImagePickerControllerCameraFlashModeAuto) {
[(UIButton *)sender setImage:[UIImage imageNamed:@"flashYesComposeButton.png"] forState:UIControlStateNormal];
self.pickerReference.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn;
}
else if (flashMode == UIImagePickerControllerCameraFlashModeOn) {
[(UIButton *)sender setImage:[UIImage imageNamed:@"flashNoComposeButton.png"] forState:UIControlStateNormal];
self.pickerReference.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff;
}
else if (flashMode == UIImagePickerControllerCameraFlashModeOff)
{
[(UIButton *)sender setImage:[UIImage imageNamed:@"flashAutoComposeButton.png"] forState:UIControlStateNormal];
self.pickerReference.cameraFlashMode = UIImagePickerControllerCameraFlashModeAuto;
}
Run Code Online (Sandbox Code Playgroud)
我之前遇到过这个bug
问题是无论ios 7.1中的真实闪存状态是什么,它总是返回UIImagePickerControllerCameraFlashModeAuto.有趣的是,如果你设置闪光模式UIImagePickerControllerCameraFlashModeOff,闪光灯将真的关闭,但如果你问状态,它仍然会UIImagePickerControllerCameraFlashModeAuto.
所以我通过保持自己的"flashState"解决了我的问题.单击时,我手动更改自己的状态,并且永远不会信任发回的但是UIImagePickerController.
@property (nonatomic) UIImagePickerControllerCameraFlashMode flashMode;
Run Code Online (Sandbox Code Playgroud)
单击按钮时:
if (self.flashMode == UIImagePickerControllerCameraFlashModeAuto) {
//toggle your button to "on"
self.flashMode = UIImagePickerControllerCameraFlashModeOn;
}else if (self.flashMode == UIImagePickerControllerCameraFlashModeOn){
//toggle your button to "Off"
self.flashMode = UIImagePickerControllerCameraFlashModeOff;
}else if (self.flashMode == UIImagePickerControllerCameraFlashModeOff){
//toggle your button to "Auto"
self.flashMode = UIImagePickerControllerCameraFlashModeAuto;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
904 次 |
| 最近记录: |