Ios 无法更改UIImagePickerController iphone 4自定义cameraOverlayView的cameraFlashMode
问题:为什么imagePickerController.cameraFlashMode在iphone 4上总是返回0,而在iphone 5上总是返回正确的值 我初始化UIImagePickerController并将cameraFlashMode设置为UIImagePickerController CameraFlashModeOn:Ios 无法更改UIImagePickerController iphone 4自定义cameraOverlayView的cameraFlashMode,ios,uiimagepickercontroller,iphone-4,Ios,Uiimagepickercontroller,Iphone 4,问题:为什么imagePickerController.cameraFlashMode在iphone 4上总是返回0,而在iphone 5上总是返回正确的值 我初始化UIImagePickerController并将cameraFlashMode设置为UIImagePickerController CameraFlashModeOn: imagePickerController = [[UIImagePickerController alloc] init]; imagePickerContro
imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePickerController.mediaTypes = [NSArray arrayWithObject:@"public.image"];
imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
imagePickerController.showsCameraControls = NO;
imagePickerController.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn;
[rest of overlay creation...]
然后,当按下“我的自定义覆盖”的“flash”按钮时,将触发此方法:
正如您在下面的屏幕截图中所看到的,cameraFlashMode的值在“变量视图”中是正确的,但使用NSLog和imagePickerController.cameraFlashMode返回0
NSLog(@"current cameraFlashMode=%d", imagePickerController.cameraFlashMode); //returns 0 (iphone 4)
但是,在iphone 5上,可以毫无问题地访问该值:
NSLog(@"current cameraFlashMode=%d", imagePickerController.cameraFlashMode); //returns 1 (iphone 5)
我很确定这是一个iOS7.1错误我想你是对的,我在7.1上用两部手机再次测试了,同样的问题。。