我有一個很奇怪的現象:的UIImagePickerController在iOS 6中不能正常工作
- 在iOS 5中我以這種方式呈現
UIImagePickerController
:
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.modalPresentationStyle = UIModalPresentationFullScreen;
imagePicker.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:imagePicker animated:YES];
現在在iOS 6中會產生崩潰。我通過UIImagePickerController
寫一個類解決了崩潰:
@implementation UIImagePickerController (NonRotating)
- (BOOL)shouldAutorotate
{
return NO;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationMaskPortrait;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
@end
的問題是,現在的UIImagePickerController
不旋轉,它的顯示上側。而且,當我按下「取消」按鈕並且選取器被解散時,應用程序再次崩潰。
- 如果我使用
UIImagePickerController
一個UIPopoverController
內,一切工作正常(屬於事實酥料餅不旋轉),但是當我駁回酥料餅在我的應用視圖控制器停止響應旋轉事件這導致所有應用都被阻止在這個方向上。要恢復正確的行爲,我需要從後臺退出應用程序並再次打開。
這是代碼我使用的顯示酥料餅
_cameraPopoverController = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
[_cameraPopoverController presentPopoverFromRect:_takeFromCamera.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
這個問題讓我瘋狂!
'presentModalViewController:動畫:'在IOS 6中棄用這不應該崩潰您的應用程序,但也許你應該嘗試'presentViewController:動畫:完成:'來代替。 –