1

我创建了一个从我的主视图控制器调用的视图控制器。我能够成功显示 viewController,但我的问题是它是在纵向模式下出现的,而实际上我是在横向模式下创建它的。我正在加载的 viewController 是在一个单独的 .xib 文件中创建的,我从我的主应用程序中调用该文件。这是我用来调用它的代码:

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    NSLog(@"I was touched.");

    _nextView = [[NextLandscapeViewController alloc] initWithNibName:@"NextLandscapeViewController" bundle:nil];
    [_nextView setDelegate:(id)self];
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:_nextView];
    [self presentViewController:navigationController animated:YES completion:nil];

}

令我困惑的是,我在 IB 的“属性检查器”中将 .xib 文件中视图的“方向”属性设置为“横向”,但它仍然以纵向模式出现。为什么?谁能看到我做错了什么?

提前感谢所有回复的人?

4

1 回答 1

1

您可能需要在 NextLandscapeViewController 中使用以下方法

-(BOOL)shouldAutorotate
{
    return YES;
}

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

如果控件在 View Controller 中没有达到这些方法,那么您需要对 Navigation Controller 进行子类化。

于 2013-08-23T20:06:01.600 回答