1

大家晚上好!我正在开发一个 Portait 方向的应用程序,如果有一种方法可以让我将仅一个视图的方向更改为剩余的陆地空间,而不会弄乱应用程序的其余部分,那么我正在徘徊。

我试着回来

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
  //return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

但没有运气......在IB中,视图控制器的方向设置为横向但是当我运行应用程序时,它一直以纵向模式出现......还尝试设置

[[UIApplication sharedApplication]setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft animated:NO];

没有运气...

任何帮助将不胜感激。

谢谢你。

4

3 回答 3

3

您可以手动设置视图的变换以旋转它。例如,旋转 90 度:

view.transform = CGAffineTransformMakeRotation( M_PI / 2 );
于 2012-04-25T13:48:21.640 回答
2

唯一对我有用的是使用

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

在我的 ViewController 中并用presentModalViewController呈现它。这迫使视图保持在横向。

于 2012-04-25T14:08:29.317 回答
1
 [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];

写在你的活动中。

于 2013-04-02T08:42:22.347 回答