这个问题已经在这里有一个答案:
- 支撑取向与应用程序中没有共同的方向,并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:
注 :如果您使用UIImagePickerController
或UIPopoverController
这些error
发生,那么这些下面的解决方案是该死的好。
此外,这些错误来自于iOS 6.0
只
创建一个新UIImagePickerController's
category
和add
@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]