【问题标题】:ios swift change orientation will change UIView Designios swift 改变方向会改变 UIView 设计
【发布时间】:2018-01-18 14:58:30
【问题描述】:

在我的项目中
更改方向将更改 UIView 设计为相同的ViewController
纵向:

风景

在同一个 ViewController 中更改不同方向样式的设计。

【问题讨论】:

  • 问题是什么?如何做到这一点?所以正方形不仅改变方向,而且相互定位?在 IB 或代码中?

标签: ios swift swift3 uiview


【解决方案1】:

你应该看看大小类的概念。 例如,在 youtube 上观看此视频以了解其工作原理。 https://youtu.be/7iT9fueKCJM

您还可以在旋转后以编程方式设置约束:

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
        super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)

        if (UIDevice.currentDevice().orientation.isLandscape) {
            // ------ Landscape -----
            // Setup constraints

        } else {
            // ----- Portrait -----
            // Setup constraints
        }
    }

【讨论】:

    【解决方案2】:

    您正在寻找的答案是 UIStackView

    Here is Apple Doc if you really want to go into it

    实现 UIStackView 很简单

    1) 选择要生效的所有视图 2) 选择 Embed in Stackview 如下图所示

    3) 设置你的 UIStackView

    您的 UIStackview 属性如下所示。

    UIStackView 管理您的屏幕旋转,您可以根据需要拥有两种不同的布局。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多