在代码中强制改变方向

时间:2011-08-21 09:52:15

标签: iphone ios ipad orientation landscape-portrait

所以我有一个带有视图控制器的应用程序,可以在旋转到横向时更改视图。在此视图中,用户可以在UIScrollView中点击大图像,这将推动新的视图控制器。但是,推动的视图控制器不支持横向。

这是一个问题,当用户点击第一个控制器中的图像时,第二个加载并自动将仅纵向视图旋转为看起来很丑的横向模式。

所以问题是;即使用户将设备保持在横向位置,我怎么能(可能在viewWillAppear中)强制方向改变为纵向?我已尝试过[[UIApplication sharedApplication] setStatusBarOrientation:],如其他地方所述,但没有任何乐趣。

1 个答案:

答案 0 :(得分:1)

支持纵向方向的推送导航控制器应该实现此方法:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

将其设置为返回支持的方向,因此在这种情况下它将是:

return (interfaceOrientation == UIInterfaceOrientationPortrait); // and probably portrait upside-down, if it's on the iPad