【问题标题】:iPad Orientation issues when switching between two views and from portrait to landscape vice versa在两个视图之间切换以及从纵向切换到横向时出现 iPad 方向问题,反之亦然
【发布时间】:2011-03-24 16:20:58
【问题描述】:

我正在使用两个视图控制器构建一个简单的应用程序,我正在使用 iPhone 模拟器测试代码,一切似乎都运行良好。当我从纵向旋转到横向或从横向旋转到纵向时,就会出现问题。这是应用程序的逻辑,应用程序总是以纵向启动,我有一个按钮可以在第一个视图上从 View1 切换到 View2。在 View2 上,我有另一个按钮可以从 View2 切换回 View1。假设我处于纵向模式,我从 View1 切换到 View2,然后将 iPad(在模拟器中)从纵向旋转到横向,当我从 View2 切换回来时,即返回到 View1。 View1屏幕/视图以Portrait显示,而View2屏幕显示在后台,即View2的一部分显示在后台,我猜是因为View1本来是Portrait模式。

问题是.. 以前有没有人遇到过这个问题,如果有的话,有什么代码可以解决这个问题,其次,我如何在代码中识别设备的方向和视图的方向。

这个方法是切换到视图2:

-(IBAction) switchToView2: (id) sender {

SecondViewController *myViewController = [[SecondViewController alloc]        initWithNibName:@"SecondViewController" bundle:nil];

[self.view addSubview: myViewController.view];
[UIView commitAnimations];
}

这个方法是切换回View1:

-(IBAction) switchBackToView1:(id) sender {

[self.view removeFromSuperview];
[UIView commitAnimations];

}

【问题讨论】:

    标签: objective-c ipad views orientation transformation


    【解决方案1】:

    来自您的代码:

    [self.view addSubview: myViewController.view];
    

    这让我相信您的 2 个视图是 myViewController.view 的子视图。这就解释了为什么它们同时出现。为不同的视图设置单独的视图控制器是有意义的。

    【讨论】:

      【解决方案2】:

      首先我认为

      [UIView commitAnimations];
      

      没有必要:

      来自苹果

      提交动画 标记开始/提交动画块的结束并安排动画执行。

      在 Interface Builder 中,您是否将控制器的属性设置为 Landscape ?

      希望这个帮助(对不起我的英语不好)

      【讨论】:

        【解决方案3】:

        是的,如果您不在代码中放置任何方向更改处理,就会发生这种情况。查看this guide,了解如何将视图设置为自动或手动处理方向变化的调整。

        或者,如果您已经进行了处理,那么可能是因为您添加/删除视图的方式。为了更好地处理,我认为您应该尝试使用UINavigationController 管理视图的方式。即,您应该使用pushViewController:animated:popViewController:animated: 而不是addSubview:removeFromSuperview:

        是的,正如 Yoos 所说,上面的代码中不需要[UIView commitAnimations]

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-07-07
          • 2012-04-04
          • 1970-01-01
          • 2011-08-20
          • 2012-03-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多