iOS如何停止视图旋转

时间:2011-03-14 08:43:56

标签: iphone ios ipad

我希望我的iPad应用程序在您旋转iPad时停止旋转。我想停止旋转每个视图。

任何想法都有帮助吗?

7 个答案:

答案 0 :(得分:10)

如果你想要停止整个应用程序的旋转,那么只需在app info.plist文件中更改支持的界面方向初始界面方向属性到纵向或横向取决于你< / p>

答案 1 :(得分:5)

只需检查视图控制器的自动调整大小属性。

(修正了语法错误)

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if(interfaceOrientation == UIInterfaceOrientationPortrait)
        return YES;

    return NO;
}

答案 2 :(得分:5)

在iOS6中shouldAutorotateToInterfaceOrientation已被弃用。改为覆盖supportedInterfaceOrientationspreferredInterfaceOrientationForPresentation

Please see

答案 3 :(得分:1)

在我的项目info.plist中,我删除了iPad Supported interface orientations上的一些键,如下图所示(我只支持纵向)

enter image description here

答案 4 :(得分:0)

全局可控旋转锁的主要思想是为每个视图控制器编写包含锁机制的UIViewController类。

您只需要全局修改supportedInterfaceOrientations方法

- (NSUInteger)supportedInterfaceOrientations
{
    return __orientation;
}

这里__orientation是静态变量,可以通过类别方法设置。

该类别的完整实现见here

答案 5 :(得分:0)

请像这样更新您的projectname.plist。支持的界面方向只有一个对象&#34;纵向(底部主页按钮)&#34;

答案 6 :(得分:-3)

我强烈建议不要在iPad上停止旋转,因为在iPad上必须支持旋转。这是因为与iPhone不同,iPad没有正常的保持方式,而iPhone通常以纵向视图(AKA Vertical)保存。因此,您必须将选择留给用户以最终锁定方向

HIG实际上并未将此作为一项要求,但作为建议,但有许多应用被此问题拒绝。

顺便说一句,如果你想要这个限制数量的视图控制器,你应该实现:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

    if(interfaceOrientation == UIInterfaceOrientationPortrait){
        return YES;
    }
}