如何在自定义iPhone应用程序中从垂直视图旋转到水平视图

时间:2009-06-10 10:59:44

标签: iphone orientation

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

提前, 姆拉登纳莱

2 个答案:

答案 0 :(得分: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中发生变化。上面的方法仍然有效,但有一种方法可以让动画更流畅。但我们不应该在这里讨论这个问题。更多。周。

<强> ANOTHERvDISCLAIMER 支持界面旋转的首选方法在6.0中再次改变。上面的方法仍然有效,但有一种方法可以让动画更流畅。

答案 1 :(得分:0)

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

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation