DP和Scaling with devices和AutoLayout iOS swift

时间:2016-02-10 14:20:25

标签: android swift autolayout scaling

我正在从Android迁移到iOS(Swift)。在Android UI中,元素根据设备大小按比例放大或缩小(高度和宽度使用“dp”,layout_weight e.t.c)。

但是我发现使用Auto Layout的约束非常难以实现,我希望UI中的元素可以根据设备大小进行缩放。

例如,在下面的共享图片中,除了压缩图像以适应屏幕宽度之外,每个UI元素都具有相同的大小,只有看起来像UI元素在所有屏幕上都使用相同的规格进行复制enter image description here

这可能有助于其他人从Android迁移到Swift (我只固定下面2个丑陋的ImageViews的宽度)

P.S:这就是我试图复制的人,这种观点适合所有屏幕。对不起,模糊,我不负责这个项目

]

1 个答案:

答案 0 :(得分:1)

AutoLayout有一个 zen 。让我看看我是否可以给你一些方向。

您需要在可用的最小模拟器(iPhone 4S)上测试每个UI。如果您需要调整元素的最小尺寸,这将告诉您。

现在对您发布的UI进行自上而下的审核:

  1. “个人资料”看起来不错
  2. 要使屏幕尺寸调整左上角和右上角的大小,您需要 想分别对左侧和右侧的超视图进行约束。然后你需要在两者之间建立一个水平约束(以保持它们之间的空间。然后你需要将它们设置为相等的宽度。你也可以为每一个设置纵横比约束。
  3. 你的表格看起来很好。如果您所看到的外观与您发布的图片不符,我可以在此提供更多指导。
  4. 对于表单下方的观点,您可能希望遵循上面的#2。
  5. 对于高度问题,请从底部视图到superview底部设置约束。可能会有拥挤,界面构建者可能会大喊大叫。有可能,您需要将水平间距约束从=设置为>=