iOS:初始界面方向在plist中被忽略

我试图将我的应用程序的初始方向设置为UIInterfaceOrientationLandscapeLeft

我不能得到

'Initial interface orientation'[UIInterfaceOrientation] 

覆盖数组中的第一个项目

 'Supported interface orientations'[UISupportedInterfaceOrientations] 

我注意到一个iPhone应用程序总是以'肖像(底部主页button)'开头,数组是:

 'Supported interface orientations'[UISupportedInterfaceOrientations] Portrait (bottom home button) Landscape (left home button) Landscape (right home button) 

这是预期的。

如果在“摘要”页面上将“肖像主页底部”buttonclosures,则返回上一页,然后数组顺序改变,肖像(底部主页button)移动到底部。

 Landscape (left home button) Landscape (right home button) Portrait (bottom home button) 

当我运行的应用程序现在开始景观(左主页button),因为这现在是列表的顶部。 这很好

当我添加

 'Initial interface orientation'[UIInterfaceOrientation] 

并将其设置为

 Landscape (right home button) 

它被忽略,并使用数组中的第一个项目

 Landscape (left home button) 

我检查了shouldAutorotateToInterfaceOrientation,它只是阻止肖像颠倒

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } else { return YES; } } 

我还添加了debugging代码

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { if(interfaceOrientation == UIInterfaceOrientationPortrait){ NSLog(@"shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortrait"); }else if(interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){ NSLog(@"shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortraitUpsideDown"); }else if(interfaceOrientation == UIInterfaceOrientationLandscapeLeft){ NSLog(@"shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeLeft"); }else if(interfaceOrientation == UIInterfaceOrientationLandscapeRight){ NSLog(@"shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight"); }else { NSLog(@"shouldAutorotateToInterfaceOrientation:UNKNOWN"); } return YES; } 

我得到了

  shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeLeft shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeLeft 

所以你可以看到它尝试使用

 'Initial interface orientation'[UIInterfaceOrientation] 

并将其设置为

 Landscape (right home button) 

但是然后它切换回数组中的第一个项目,而不是使用

 Landscape (left home button) 

难道我做错了什么? 这是一个简单的单视图Xcode模板项目…只需添加debugging代码。

尽pipe文档, UIInterfaceOrientation被忽略。 只使用UISupportedInterfaceOrientations 。 要指定您希望启动哪一个,请使其成为UISupportedInterfaceOrientations列出的一个。

然后由您的个人视图控制器来排除他们拒绝采用的任何方向。

初始界面方向没有为我工作。 我只是改变了支持的界面方向的序列 ,它的工作。 在这里输入图像说明