2013-03-13 117 views
0

我想为我的应用程序中的不同viewController设置不同的规则,而不是所有视图中的单个规则(就像您可以在Target-Summary中定义的那样)。不同的UIViewController取向取决于用户在哪个视图

例如我有几个视图我希望我的第一个视图只出现在纵向视图中,但是在我的最后一个视图中,我希望用户能够在纵向和横向之间进行切换......我在弄清楚我可以做到这一点。

此外,我已阅读的问题,其中用户导航到一个视图,而在景观和视图出现风景时,它应该是肖像,不会改变,直到用户旋转设备,我想避免这种情况,如果可能的话。 。

所以我的问题是我怎么能允许不同的UIViewController取向,这取决于查看用户在

回答

1

这将取决于你是否定位到iOS 5或iOS 6
的iOS 5:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation { 
    if ((orientation == UIInterfaceOrientationPortrait) || 
     (orientation == UIInterfaceOrientationLandscapeLeft)) 
     return YES; 

     return NO; 
} 

的iOS 6:

设置默认的程序信息,然后在VC支持的方向要有所不同:

- (NSUInteger)supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft; 
} 

HERE

苹果文档资料请参阅这些问题的更多信息:

shouldAutorotateToInterfaceOrientation not being called in iOS 6

shouldAutorotateToInterfaceOrientation is not working in iOS 6

+0

很酷谢谢:)我试过你提供的ios6代码,发现加载视图后我仍然可以旋转..是代码的正确行为?或者我是否需要实现ios 5代码,因为这似乎会工作..不是我已经尝试过了。 – HurkNburkS 2013-03-13 02:19:22

+0

这取决于你是否正在使用iOS 5或iOS 6运行这个应用程序。它们处理方向不同 – 2013-03-13 02:20:49

+0

是的,我在iOS6中运行..这两个命令都没有为我工作..它仍然允许我旋转视图,例如,如果我只将Portrait定义为受支持的界面......如果我的设置中没有正确定义某些东西,我会发生什么? (我正在阅读你的其他链接) – HurkNburkS 2013-03-13 02:24:30

相关问题