2

我有一个视图控制器,其中包含一个图形视图和分段控件。如何使视图旋转到水平?另外,是否可以为水平方向加载另一个视图?

提前谢谢,姆拉登

4

2 回答 2

4

您通过以下方式实现方向支持:

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
// Just delete the lines for the orientations you don't want to support
  if((toInterfaceOrientation == UIInterfaceOrientationPortrait) ||
     (toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)) ||
     (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft)) ||
     (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight))  {   
   return YES; 
   }
return NO;
}

然后在旋转时加载一个新的 ViewController:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
  if((fromInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) ||
     (fromInterfaceOrientation == UIInterfaceOrientationLandscapeRight))
  {    
    // Load the view controller you want to display in portrait mode...
  }
}

你甚至可以设置一个动画来操纵新视图的 alpha 属性,如果你想做一个平滑的过渡,就像你在 iPod 应用程序中看到的过渡到 CoverFlow 模式一样。

免责声明 3.0 中支持界面旋转更改的首选方法。上述方法仍然有效,但有一种方法可以获得更流畅的动画。但我们不应该在这里单独谈论这个。更多的。星期。

另一个v免责声明 支持界面旋转的首选方法在 6.0 中再次更改。上述方法仍然有效,但有一种方法可以获得更流畅的动画。

于 2009-06-10T12:39:26.077 回答
0

对于设备旋转,您应该在 viewController 中实现此方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

于 2009-06-10T12:43:08.453 回答