2012-08-28 133 views
3

我在编程时遇到了问题。我有两个视图控制器。第一个只在横向左/右运行,另一个只在纵向运行。如果在视图之间切换,方向不会自动更改。只有当我打开设备的方向正在改变。之后,方向是固定的。当我在控制器之间切换时是否可以自动改变方向?在视图控制器之间切换时自动旋转

例如,当我在横向视图控制器中按下BackButton并切换到纵向视图控制器时,方向会自动从横向切换到纵向?

对不起,我的英语不好,它不是我的母语。

感谢, 添

回答

1

试试下面的代码肖像第二个视图。

- (void)viewWillAppear:(BOOL)animated { 
    [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 

} 

请在第一视图中尝试以下代码。

- (void)viewWillAppear:(BOOL)animated { 
     [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscape]; 

    } 
+0

相信无证'setOrientation'通话只能在模拟器中使用此代码。在真实的设备上,您无法真正以编程方式设置方向。用户必须物理旋转设备。 – Nate

+0

我得到一个错误:“没有可见@interface为'UIDevice'声明选择器'setOrientation'” 谢谢,蒂姆 – user1629827

0
if(UIDeviceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) 
{ 
    self.view.frame = CGRectMake(0,0,1024,768); 
} 
else 
{ 
    self.view.frame = CGRectMake(0,0,768,1024); 
} 

----要改变---