【问题标题】:Auto Rotate while switching between View Controllers在视图控制器之间切换时自动旋转
【发布时间】:2012-08-28 10:00:47
【问题描述】:

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

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

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

谢谢, 蒂姆

【问题讨论】:

    标签: iphone ios xcode ipad


    【解决方案1】:

    在第二个视图中尝试以下代码。

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

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

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

    【讨论】:

    • 我相信未记录的setOrientation 调用仅适用于模拟器。在真实设备上,您无法真正以编程方式设置方向。用户必须物理旋转设备。
    • 我收到一个错误:“'UIDevice' 没有可见的@interface 声明选择器'setOrientation'” 谢谢,蒂姆
    【解决方案2】:
    if(UIDeviceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation))
    {
      self.view.frame = CGRectMake(0,0,1024,768);
    }
     else
    {
      self.view.frame = CGRectMake(0,0,768,1024);
    }
    

    ----在要更改的地方使用此代码---

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-09
      • 2015-12-19
      • 1970-01-01
      • 2015-03-25
      • 2019-04-10
      • 1970-01-01
      相关资源
      最近更新 更多