1

我将基于标签栏的 iphone 应用程序转换为具有不同 ~ipad.xib 的 ipad 版本,唯一不同的是 ui 元素大小。现在我的问题是它不能在 ipad 版本中自动旋转屏幕,即我将 ipad 倒置,但 ui 不会倒置旋转。

4

4 回答 4

4

shouldAutorotateToInterfaceOrientation:您需要为选项卡栏中的所有视图控制器返回 YES,仅适用于 iPad ( UI_INTERFACE_IDIOM()...)。iPhone 控制器的默认代码可能仅在纵向时才返回 YES,如果这是您最初创建项目时选择的全部。

这是我用于这种情况的代码(iPhone,仅限纵向,iPad,所有方向):

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
        return YES;
    else
        return toInterfaceOrientation == UIInterfaceOrientationPortrait;
}
于 2012-04-23T16:03:16.070 回答
2

标签栏控制器不能自动旋转。您必须旋转所有组件。

于 2012-04-23T16:00:53.140 回答
1

如果是通用应用程序,您可以使用此代码完成您的任务

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations

    BOOL ret;

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
        // iPad-specific code

    if (interfaceOrientation != UIInterfaceOrientationPortrait) {
        ret = YES;
    }else{
        ret = NO;
    }
    } else  {
        // iPhone-specific code

    ret = YES;
    }

 return ret;

}
于 2012-04-23T16:56:08.323 回答
0

您需要修改“支持的设备方向”以包含您的新方向

于 2012-04-23T19:35:35.953 回答