1

UIImagePickerController次のコードを使用して、アプリケーションでオブジェクトを開こうとしています:

   self.imgPicker = [[UIImagePickerController alloc] init];
   self.imgPicker.delegate = self;
   self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
   self.imgPicker.modalPresentationStyle = UIModalPresentationFullScreen;
   [self presentViewController:self.imgPicker animated:YES completion:nil];

しかし、アプリケーションがクラッシュし、次のエラーが表示されます。

Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 
'preferredInterfaceOrientationForPresentation must return a supported interface orientation!'

ViewControllerクラスに次のメソッドも追加しました

- (BOOL) shouldAutorotate
{
    return NO;
}

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:    (UIInterfaceOrientation)toInterfaceOrientation {

    return UIInterfaceOrientationMaskPortrait;
}

では、これを提示するには他に何をすればよいUIImagePickerControllerでしょうか?

4

4 に答える 4

0

私は数日前に同じ問題を抱えています。この次のトリックを見つけました。

このコードを

AppDelegate.m

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
    return UIInterfaceOrientationMaskAll;
}

また、このコードをUIImagePickerViewControllerクラスに入れます。

- (NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskLandscape;
}

iOS-6 UIImagePickerController縦向きに従う必要があるためです。

于 2013-08-12T08:47:55.033 に答える