iOS App:窗口旋转总是纵向而不是横向

Posted

技术标签:

【中文标题】iOS App:窗口旋转总是纵向而不是横向【英文标题】:iOS App: Window rotation always Portrait instead of Landscape 【发布时间】:2013-06-26 03:04:50 【问题描述】:

我的应用程序仅适用于横向。 因此,我将初始方向和支持方向设置为 LandScape Home Right。

但是,初始启动方向始终变为纵向。 导航到下一页并返回后,方向正确。

这可能与以下问题类似,In ios 6 on iPad, initial rotation is always portrait, after that it always rotates correctly

但是那里的解决方案不起作用,因为“handleRotationFor”会发出警告: instanceMethod -handleRotationFor 未找到(返回类型默认为 'id')

我应该如何解决这个错误?

请帮忙

【问题讨论】:

【参考方案1】:

项目目标 --> 点击“摘要”选项卡并在“支持的接口方向”中选择您的方向

【讨论】:

我已将 Universal、iPad、iPhone 的 Supported Orientation 设置为 Landscape Right Home,但还是这样【参考方案2】:

在 Xcode 的文件窗格中单击您的项目,然后从右侧窗格中选择目标。然后在摘要选项卡中查看支持的方向。只选择横向。你也可以实现

-(NSUInteger)supportedInterfaceOrientation 
return UIInterfaceOrientationMaskLandscapeRight;

在您的应用委托中

【讨论】:

还是不行,拉胡尔。我通过在上面添加包含到目前为止的代码详细信息的 pastebin url 来更新我的问题。【参考方案3】:

在 Xcode 中的摘要选项卡下,确保没有按下纵向和倒置。同时添加这三个函数。

// *********************
// ios6 orientation support
// *********************
- (BOOL)shouldAutorotate


    UIInterfaceOrientation interfaceOrientation = [[UIDevice currentDevice] orientation];


    if (interfaceOrientation == UIInterfaceOrientationPortrait)
    
        return NO;
    
    else if (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
    
        return NO;

    
    else
    
        return YES;
    



-(NSUInteger)supportedInterfaceOrientations

    return UIInterfaceOrientationMaskLandscape;


- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation


    if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
    
        return NO;
    
    else
    
        return YES;
    




【讨论】:

嗨,Sam,这仍然无法正常工作。以防万一,我应该为 rootViewController 设置什么 shouldAutorotateToInterfaceOrientation?【参考方案4】:

在应用的 info.plist 中检查支持的方向。检查并在 nib 文件中设置方向。

您可以使用[[UIDevice currentDevice] orientation]检查方向

【讨论】:

以上是关于iOS App:窗口旋转总是纵向而不是横向的主要内容,如果未能解决你的问题,请参考以下文章

应用程序启动时锁定为纵向从横向旋转到纵向 (iOS)

旋转到横向后,iOS 边界发生变化,然后又回到纵向

禁止 UITableViewcontroller 横向旋转(保持纵向)

Twain 检测横向扫描

禁止 UITableViewcontroller 在横向旋转(保持纵向)

IOS 6视图旋转问题[重复]