0

iPhone SDK でギャラリーを開く方法を知る必要があります。私のコードは正しいと信じていますが、それでも例外が発生します。

これは私のコードです:

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
        imgpkrController.delegate = self;
        imgpkrController.allowsEditing = YES;
        imgpkrController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        //[self presentModalViewController:(UIViewController *)imgpkrController animated:YES];

        [self presentViewController:(UIViewController *)imgpkrController animated:YES completion:nil];}

このコードを使用すると、例外が発生します。

UIApplicationInvalidInterfaceOrientation', reason:
  preferredInterfaceOrientationForPresentation must return a supported interface orientation!

だから私はこのコードを試しました:

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
        UIInterfaceOrientation interface = [[UIApplication sharedApplication] statusBarOrientation];
        if(interface == UIDeviceOrientationPortrait)
        {
            imgpkrController.delegate = self;
            imgpkrController.allowsEditing = YES;
            imgpkrController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
            //[self presentModalViewController:(UIViewController *)imgpkrController animated:YES];

            [self presentViewController:(UIViewController *)imgpkrController animated:YES completion:nil];

        }else if (interface ==UIDeviceOrientationLandscapeLeft || interface ==UIDeviceOrientationLandscapeRight)
        {
            imgpkrController.delegate = self;
            imgpkrController.allowsEditing = YES;
            imgpkrController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
            //[self presentModalViewController:(UIViewController *)imgpkrController animated:YES];
            [self presentViewController:(UIViewController *)imgpkrController animated:YES completion:nil];}}

しかし、これは同じ例外を与えます。誰でもこれで私を助けることができますか?

4

1 に答える 1

0

あなたが使用していた以前のコードに問題はないと思います。この目的のためにそのコードを使い続けてください。UIInterfaceOrientationのコードに問題があると思います。これを試すことができます Target-> Summery -> に移動し、そこからオリエンテーションを処理してみてください。

それでも解決しない場合は、次のリンクで UIInterfaceOrientation について調べる必要があります

http://www.scott-sherwood.com/ios-6-uiapplicationinvalidinterfaceorientation-exception/

于 2013-06-06T08:20:23.210 に答える