Tôi hoạt động trên iPad 4 với iOS 6.0.Lỗi sự cố UIIMagePickerController khi loại bỏ trên iPad ios 6.0
Tôi có một ViewController (MyPickerController) với init sau:
- (id)init
{
self = [super init];
if (self) {
_picker = [[UIImagePickerController alloc] init];
_picker.delegate = self;
_picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self.view addSubview:_picker.view];
}
return self;
}
tôi thực hiện phương pháp UIPickerControllerDelegate sau để dimiss MyPickerController:
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[self dismissViewControllerAnimated:YES completion:nil];
}
Vâng, tôi đã khác điều khiển xem thấy modally trong FormSheetStyle
và khi tôi nhấn vào nút tôi muốn hiển thị MyPickerController
với mã sau:
MyPickerController * pickerVC = [[MyPickerController alloc] init];
[self presentViewController:pickerVC animated:YES completion:nil];
Trong appdelegate của tôi có phương pháp totation sau:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
return (NSUInteger)[application supportedInterfaceOrientationsForWindow:window] | (1<<UIInterfaceOrientationPortrait);
}
Khi tôi gõ vào nút UIIMagePicker
hủy vào MyPickerController
, các tai nạn ứng dụng với các lỗi sau:
Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'preferredInterfaceOrientationForPresentation must return a supported interface orientation!
Đọc câu hỏi liên quan trên stackoverflow, tôi cũng tạo danh mục UIImagePickerController follwing:
@implementation UIImagePickerController (NonRotating)
- (BOOL)shouldAutorotate
{
return NO;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationMaskPortrait;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
@end
Cảm ơn bạn!
lý do tại sao bạn thêm quan điểm của bảng chọn như là một subview của bạn lượt xem? –