我正在使用具有三个屏幕的应用程序。
首先是主屏幕。从带有按钮的主屏幕,用户导航到第二个屏幕,我有一个相机覆盖,只有一个按钮可以拍照。
当用户拍照时,他可以按下导航到最后一个屏幕的按钮。但是,当他从最后一个屏幕导航到主屏幕,然后转到覆盖的第二个屏幕时,相机就关闭了。按钮显示他可以拍照,但他无法通过相机看到。
我在主屏幕上使用以下代码来启动覆盖:
if (self.imageView.isAnimating)
self.imageView.stopAnimating;
if ([UIImagePickerController isSourceTypeAvailable:sourceType])
{
[self.overlayViewController setupImagePicker:sourceType];
[self presentModalViewController:self.overlayViewController.imagePickerController animated:YES];
}
overlayviewcontroller
第二个屏幕在哪里overlayviewcontroller
,代码如下:
- (void)setupImagePicker:(UIImagePickerControllerSourceType)sourceType
{
self.imagePickerController.sourceType = sourceType;
if (sourceType == UIImagePickerControllerSourceTypeCamera)
{
self.imagePickerController.showsCameraControls = NO;
if ([[self.imagePickerController.cameraOverlayView subviews] count] == 0)
{
CGRect overlayViewFrame = self.imagePickerController.cameraOverlayView.frame;
CGRect newFrame = CGRectMake(0.0,
CGRectGetHeight(overlayViewFrame) - self.view.frame.size.height - 10.0,
CGRectGetWidth(overlayViewFrame),
self.view.frame.size.height + 10.0);
self.view.frame = newFrame;
[self.imagePickerController.cameraOverlayView addSubview:self.view];
}
}
}
我将不胜感激任何帮助。