【发布时间】: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