在iPhone旋转上替换ViewController

时间:2011-03-30 06:55:36

标签: iphone uiviewcontroller rotation

我的应用程序只有一个纵向驱动的GUI,但是只有一个部分需要旋转。 当设备被旋转时,我想要关闭当前的视图(控制器?)并将其替换为完全不同的视图。 我能怎么做?任何示例代码?

2 个答案:

答案 0 :(得分:2)

您可以在.xib文件中的同一个UIViewController中只有2个不同的视图,并在需要时在它们之间切换。

假设您在UIViewController中有两个视图:

  • ViewPortrait
  • ViewLandscape
 -(void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
   switch (toInterfaceOrientation)
   {
      case UIInterfaceOrientationPortrait:
      case UIInterfaceOrientationPortraitUpsideDown:
          self.view = self.ViewPortrait;   
          break;

      case UIInterfaceOrientationLandscapeLeft:
      case UIInterfaceOrientationLandscapeRight:
          self.view = self.ViewLandscape;           
          break;
   }
}

答案 1 :(得分:0)

- (void)didRotate
{
 //Create your new view controller here if it doesn't exist.
 //Push or present the view controller
}