“支持的取向具有与所述应用程序无共同的方向,并且是shouldAutorotate返回YES” [重

2019-07-18 12:53发布

这个问题已经在这里有一个答案:

  • 支撑取向与应用程序中没有共同的方向,并shouldAutorotate将返回YES” 14个回答

* 我的观点是在我现在的储蓄形象景观模式,我想,像回到了我在我的代码如下,我是歌厅的错误“终止应用程序由于未捕获的异常‘UIApplicationInvalidInterfaceOrientation’,理由是:“支持的方向有没有共同的方向与应用程序,并shouldAutorotate将返回YES'” *我能为iphone呢?

        `- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {

         [self dismissModalViewControllerAnimated:YES];
         [picker release];

              }
             - (void)imagePickerController:(UIImagePickerController *)picker 

                didFinishPickingMediaWithInfo:(NSDictionary *)info {

            [picker dismissModalViewControllerAnimated:NO];

                imageDoodle.image = [info objectForKey:@"UIImagePickerControllerMediaMetadata"];

                 }

               -(IBAction)loadfromalbumclicked:(id)sender

                 {

                UIImagePickerController * picker = [[UIImagePickerController alloc] init];

                picker.delegate = self;

                 picker.allowsEditing=NO;

        picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

               // self.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal;

              [self presentModalViewController:picker animated:YES];
               }

              -(IBAction)savePrint{
//Save image to iOS Photo Library

                 UIImageWriteToSavedPhotosAlbum(imageDoodle.image, nil, nil, nil);
//Create message to explain image is saved to Photos app library
                 UIAlertView *savedAlert = [[UIAlertView alloc] initWithTitle:@"Saved"  

                message:@"Your picture has been saved to the photo library, view it in the 

               Photos app." delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
//Display message alert
             [savedAlert show];
              }`

Answer 1:

尝试shouldAutoRotate设置为NO,看看它是否工作。

您可以使用的iOS 6.0或更高版本shouldAutoRotate和supportedInterfaceOrientations方法,而不是(不推荐)shouldAutoRotateToInterfaceOrientation方法。

事情是这样的 -

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;
}


- (BOOL) shouldAutorotate {
    return YES;
}


- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return UIInterfaceOrientationPortrait;
}


Answer 2:

您只支持有限的方向横向或纵向。 但是你调用您的视图控制器的不同方位。

你可以看到支持方向如下图所示。 它仅支持景观权和景观left.So如果我叫人像,它会显示错误的喜欢你。 所以,如果你想支持的方向,然后改变它的摘要。

看到这个答案的更多细节。 希望能帮助到你。

编辑

所以,你必须把这个代码在您的视图 - 控制

  - (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
  return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft |   UIInterfaceOrientationMaskLandscapeRight;
 }


Answer 3:

如果有通过返回的plist中支持的接口方向和那些之间的不匹配,则会引发此错误-(NSUInteger)supportedInterfaceOrientations

请记住,该NSUInteger返回由supportedInterfaceOrientations必须是UIInterfaceOrientationMask,注意-MASK-,我曾经做的只是返回UIInterfaceOrientation异的...面膜值的错误(这是自动完成你)

- (NSUInteger) supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
    // and NOT UIInterfaceOrientationPortrait;
}


Answer 4:

:如果您使用UIImagePickerControllerUIPopoverController这些error发生,那么这些下面的解决方案是该死的好。

此外,这些错误来自于iOS 6.0

创建一个新UIImagePickerController's categoryadd

@implementation UIImagePickerController(custom)

  -(BOOL)shouldAutorotate
  {
    return NO;
  }
@end

这是为我工作。



Answer 5:

如果您正在使用cocos2d的V2.1,你可以尝试一下本作的画像。

    -(NSUInteger)supportedInterfaceOrientations {

    // iPhone only
    if( [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone )
        return UIInterfaceOrientationMaskPortrait;

    // iPad only
    return UIInterfaceOrientationMaskPortrait;
}

// Supported orientations. Customize it for your own needs
// Only valid on iOS 4 / 5. NOT VALID for iOS 6.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // iPhone only
    if( [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone )
        return UIInterfaceOrientationIsPortrait(interfaceOrientation);
    // iPad only
    // iPhone only
    return UIInterfaceOrientationIsPortrait(interfaceOrientation);
}

支持取向经销商的旋转方向应当是相同的



Answer 6:

对于iOS 6.0中,如果您的应用程序只支持横向模式,当你弹出的UIImagePickerController,它会崩溃。

我的解决方案如下类别添加到的UIImagePickerController:

@interface UIImagePickerController (oritation)

@end

@implementation UIImagePickerController (oritation)

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

@end


Answer 7:

我有同样的错误,它可能是一个或多个以下返回矛盾的取向:

  • 检查-Info.plist,为重点“支持的接口方向”
  • 检查摘要面板中,点击您的应用项目导航。
  • 正如其他人所说,检查什么supportedInterfaceOrientations方法返回。

我解决了矿山通过显式定义单独的“支持的接口方向(iPad版)”和“支持的接口方向(iPhone)”的-Info.plist键,因为我想为不同设备的不同方位。

祝好运!



文章来源: 'Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES' [duplicate]