如何从Landscape到Portrait查看iOS SDK

时间:2012-07-14 02:10:28

标签: iphone storyboard landscape segue portrait

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

我尝试过使用

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];

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

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

谢谢!

[增订] 所有的解决方案都没有结束,所以我最终只是以模态方式呈现它,直到找到更好的解决方案。

感谢您的回答!

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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

  1. 显示和关闭模态视图控制器:

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

  3. 在推动实际视图控制器之前,按下并弹出一个视图控制器。

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

答案 2 :(得分:0)

所有的解决方案都没有结束,所以我最终只是以模态方式呈现它,直到找到更好的解决方案。

感谢您的回答!

(也添加到原帖)