我在app中有15到20个视图。一个是相机功能。我查看了设置为UIImagePickerController
以显示相机的视图。我的问题是,当我在应用程序启动后直接打开相机时,一切正常。我的意思是取消,捕获默认相机功能的功能。但是假设,如果我浏览除地图,webView等相机之外的其他所有内容,如果我打开相机,则取消按钮不起作用(捕获按钮在所有情况下均可正常工作)。捕获后,重新启动,使用等控件正在显示成功但这些按钮也无法访问。
注意:启动后直接打开相机时不会出现上述问题。
这些是我试图解决这个问题的事情。
为UIImagePickerController
的上一个实例设置nil,并在每次调用camera
新功能时重新分配。
每次在相机打开之前隐藏tabBar,因为我怀疑tabBar的区域可能无法访问。
将视图的框架设置为完全符合手机屏幕尺寸,以确保可以访问整个视图。
请注意:
愿这会有所帮助。
仅在iPhone3GS中发生这种情况。在所有其他模型中,它的工作效果很好。
我发现,只有tabBar的部分(存在于所有其他视图中并且仅在打开相机时隐藏)才能访问。我通过按下所有按钮找到了这个,我可以访问tabBar中存在的按钮部分。可能是下面的屏幕截图将会提供更多信息。
请分享您的想法。
提前致谢。
修改
以下是我用来显示相机的代码。
-(IBAction)btnCamera_Clicked:(id)sender{
_imgPicker = nil;
_imgPicker = [[UIImagePickerController alloc] init];
_imgPicker.delegate = self;
_imgPicker.allowsEditing = NO;
_imgPicker.wantsFullScreenLayout = YES;
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
_imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
_imgPicker.showsCameraControls = NO;
_imgPicker.cameraOverlayView = vwCameraOverlay;
[self.tabBarController presentModalViewController:_imgPicker animated:YES];
}
}
答案 0 :(得分:3)
使用以下代码
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
[picker dismissModalViewControllerAnimated:YES];
}
<强>编辑:强>
打开控制器试试
[self.tabBarController presentModalViewController:picker animated:YES];
它应该有用。