Ios 使用自定义UIImagePicker覆盖将生成白屏相机预览
我目前正在为我的相机控件和Ios 使用自定义UIImagePicker覆盖将生成白屏相机预览,ios,iphone,ios7,uiimagepickercontroller,Ios,Iphone,Ios7,Uiimagepickercontroller,我目前正在为我的相机控件和UIImagePickerController使用自定义覆盖,设置如下: self.imagePickerController = [[UIImagePickerController alloc] init]; self.imagePickerController.delegate = self; //... Additional set up code omitted self.imagePickerController.mediaTypes
UIImagePickerController
使用自定义覆盖,设置如下:
self.imagePickerController = [[UIImagePickerController alloc] init];
self.imagePickerController.delegate = self;
//... Additional set up code omitted
self.imagePickerController.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];
//!---- If below code deleted and use default ImagePickerController, all works fine
if (self.imagePickerController.sourceType == UIImagePickerControllerSourceTypeCamera)
{
self.imagePickerController.showsCameraControls = NO;
[[NSBundle mainBundle] loadNibNamed:@"overlayView2" owner:self options:nil];
self.overlayView.frame = self.imagePickerController.cameraOverlayView.frame;
self.imagePickerController.cameraOverlayView = self.overlayView;
self.overlayView = nil;
CGSize screenSize = [[UIScreen mainScreen] bounds].size;
float cameraAspectRatio = 4.0 / 4.0;
float imageWidth = floorf(screenSize.width * cameraAspectRatio);
float scale = ceilf((screenSize.height / imageWidth) * 10.0) / 10.0;
self.imagePickerController.cameraViewTransform = CGAffineTransformMakeScale(scale, scale);
}
通过上面的代码,我得到了以下白色摄像头预览屏幕:
但是,根据上述注释,如果我使用默认的UIImagePickerController,则预览将启动并正常工作:
我不确定设置的哪些方面导致了白色空白屏幕。一个关于类似问题的提问提到了录音,但由于我只关注图片,我不确定这两者之间有什么关系
谢谢你的帮助 您是否检查了覆盖视图背景颜色,将其更改为“清除颜色”和“self.overlayView=nil”;看起来是错误的,不要在这里将它们设置为零,在viewDidUnload中执行,因为它们是视图obj@Retro当iOS 6问世时,
viewDidUnload
被弃用。@Retro不敢相信这是一个清晰的颜色问题。谢谢@阿伦布拉格:谢谢。)是的。谢谢@Retro