【问题标题】:iOS View does not change orientation on orientation changeiOS View 在方向改变时不会改变方向
【发布时间】:2015-12-27 23:56:07
【问题描述】:

我有一个根视图,其中包含一个包含(内容)视图的滚动视图。内容视图包含许多子控件。使用模拟器,当我改变方向时,包括滚动视图在内的所有视图都不会改变方向。例如,下图以纵向模式开始,并且所有控件都正确播放,但切换到横向模式只会水平显示纵向模式:

所有这些都是使用 Interface Builder 进行布局的,所以除了控件的一些 IB 出口外,我在控件视图文件中没有太多代码。

是否有某种约束阻止所有控件和视图重新定向?还是我总是必须在方向更改时手动布置这些?

【问题讨论】:

    标签: ios swift uiscrollview autolayout orientation


    【解决方案1】:

    首先,您需要通过勾选您想要的方向来检查您是否允许应用旋转:

    • 点击左上角(显示项目导航器)
    • 选择项目名称
    • 查看 General->Deployment Info->Device Orientation 下的内容。
    • 相应地调整复选框。

    更新:

    同时在模拟器上向上滑动并检查设备是否没有锁定旋转。

    试着把它放在你的 AppDelegate/view 控制器中:

    - (BOOL)shouldAutorotateToInterfaceOrientation:
      (UIInterfaceOrientation)interfaceOrientation
    {
        return YES;
    }
    

    (我不认为这是一个约束/布局问题,因为状态栏甚至没有旋转)

    【讨论】:

    • 谢谢,乔!看起来在 Swift 2 中 shouldAutoRotateToInterface(...) 已被标记为不可用,但我确实尝试了 override func shouldAutorotate() -> Bool { return true } 并且成功了。
    • 很好,很高兴能帮上忙。
    猜你喜欢
    • 1970-01-01
    • 2018-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多