2

在导航控制器中,一个屏幕可以播放视频,可以纵向和横向查看,然后在导航控制器中推送一个新的视图控制器,但我只想纵向显示。

我试过使用

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];

在segue之前和之后,但这对我不起作用。状态栏在那里,但视图以横向格式绘制。

任何想法如何解决这一问题?

谢谢!

[更新] 没有一个变通办法最终奏效,所以我最终只是以模态方式展示它,直到找到更好的解决方案。

感谢您的回答!

4

3 回答 3

0

我对你的问题有点困惑,但如果我理解正确,你想阻止视图以横向显示。将此方法添加到视图控制器的实现文件中:

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

然后,该特定视图控制器将仅以纵向运行。那是你想要的吗?

于 2012-07-14T03:13:22.000 回答
0

我对这个问题做了一些研究,因为我记得两年前我在一个项目中遇到过同样的问题。那时我们通过让所有控制器都支持两个方向来解决这个问题,因为让它们支持横向比强制纵向更容易。

不幸的是,从那以后似乎并没有太大变化。它似乎仍然是一个悬而未决的问题,没有记录的方法来解决它。但是,我确实找到了一些我认为对您有用的解决方法:

  1. 呈现和关闭模态视图控制器:

    UIViewController *c = [[UIViewController alloc] init];
    [self presentModalViewController:c animated:NO];
    [self dismissModalViewControllerAnimated:NO];
    [c release];
    
  2. 手动旋转视图。

  3. 在推送真正的视图控制器之前推送和弹出视图控制器。

据报道所有方法都有效,但我还没有测试过它们。您可以在此处找到代码和更多方法:Is there a documented way to set the iPhoneorientation?

于 2012-07-14T13:46:03.643 回答
0

所有的变通方法都没有奏效,所以我最终只是以模态方式展示它,直到找到更好的解决方案。

感谢您的回答!

(也添加到原帖)

于 2012-07-31T20:34:21.440 回答