Ios 无法更改UIImagePickerController的cameraFlashMode
我的自定义相机覆盖上有一个按钮,可调用此方法:Ios 无法更改UIImagePickerController的cameraFlashMode,ios,camera,uiimagepickercontroller,Ios,Camera,Uiimagepickercontroller,我的自定义相机覆盖上有一个按钮,可调用此方法: - (void) changeFlash:(id)sender { //UIImagePickerControllerCameraFlashModeOff = -1, //UIImagePickerControllerCameraFlashModeAuto = 0, //UIImagePickerControllerCameraFlashModeOn = 1 NSLog(@"before %d", self.p
- (void) changeFlash:(id)sender
{
//UIImagePickerControllerCameraFlashModeOff = -1,
//UIImagePickerControllerCameraFlashModeAuto = 0,
//UIImagePickerControllerCameraFlashModeOn = 1
NSLog(@"before %d", self.picker.cameraFlashMode);
switch (self.picker.cameraFlashMode) {
case UIImagePickerControllerCameraFlashModeAuto:
[(UIButton *)sender setImage:[UIImage imageNamed:@"flashOn"] forState:UIControlStateNormal];
self.picker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn;
break;
case UIImagePickerControllerCameraFlashModeOn:
[(UIButton *)sender setImage:[UIImage imageNamed:@"flashOff"] forState:UIControlStateNormal];
self.picker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff;
break;
case UIImagePickerControllerCameraFlashModeOff:
[(UIButton *)sender setImage:[UIImage imageNamed:@"flashAuto"] forState:UIControlStateNormal];
self.picker.cameraFlashMode = UIImagePickerControllerCameraFlashModeAuto;
break;
}
NSLog(@"after %d", self.picker.cameraFlashMode);
}
self.picker.cameraFlashMode在更改前后始终为0。我做错了什么
此外,闪存从不工作,即使它被认为卡在UIImagePickerControllerCameraFlashModeAuto中。self.picker为零。这是一个常见的错误,您需要经常检查,因为与Java和其他语言不同,在Objective-C中向nil发送消息是有效的。检查self.picker是否为nil。@soleil我有照相机闪光灯问题。我复制了你的方法。我觉得这是iOS 7.1,我在这里遇到了同样的问题,我强制相机闪光模式为==1,但什么都没有发生。在我的情况下,选择器不等于零,我注意到问题发生在iphone 4上,而不是iphone 5上。我提出了另一个问题: