【问题标题】:Layout Breaks When Switching Devices切换设备时布局中断
【发布时间】:2018-08-25 11:58:03
【问题描述】:

我不得不承认我不是Auto Layout 的忠实粉丝。但我想我需要使用它是因为 iPhone X。

无论如何,我有一个简单的布局。我有一个地图视图 (MKMapView) 对象和一个底部粉红色的视图 (UIView) 对象。

我有两个布局要求。 (1) 地图视图的顶部必须贴在安全区域。 (2)粉色view的底部粘在superview上。

首先,我选择 iPhone X 作为布局设备。

至于地图视图,我选择安全区域和地图视图并添加对齐到顶部边缘。我还添加了对齐到左边缘并对齐到右边缘。所以我得到以下信息。

至于粉红色的底视图,我选择(超级)视图和粉红色的家伙来添加对齐到底部边缘。然后我将对齐添加到顶部、左侧和右侧边缘。此外,高度设置为 48 点。所以我得到以下信息。

现在,如果我将布局设备切换到 iPhone 8 Plus,布局将保持不变。但如果我从 iPhone X 切换到 iPhone SE,它会惨不忍睹,如下图所示。

如何在不受设备影响的情况下保持布局?谢谢。

【问题讨论】:

    标签: ios xcode autolayout iphone-x


    【解决方案1】:

    我无法完全复制您的屏幕截图显示的内容;特别是我无法让顶级视图具有“底部空间到底部视图”的后代约束。我怀疑您还有其他一些导致冲突的约束。我认为最好在此视图控制器上重新开始,以确保您不会意外添加不属于的约束。
    将 Map Kit View 和 View 拖到这个新控制器中,将 View 重命名为“Bottom View”,并向 Map Kit View 添加新约束,如下所示:

    然后像这样为底部视图添加约束:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      相关资源
      最近更新 更多