我正在从 Android 迁移到 iOS (Swift)。在 Android 中,UI 元素根据设备大小按比例放大或缩小(高度和宽度使用“dp”、layout_weight 等)。
但是我发现这很难通过自动布局的约束来实现,我希望我的 UI 中的元素能够根据设备大小进行缩放。
例如,在下面的共享图像中,除了图像压缩以适应屏幕宽度外,每个 UI 元素都具有相同的大小,只是看起来 UI 元素在所有屏幕上都以相同的规范复制了
这可能会帮助其他人从 Android 迁移到 Swift (我只固定了下面2个丑陋的ImageView的宽度)
P.S:这就是我要复制的东西,这个 View 适合所有屏幕。抱歉模糊不清,我不负责这个项目
最佳答案
AutoLayout 有一个zen。让我看看能不能给你一些指导。
您需要在可用的最小模拟器 (iPhone 4S) 上测试每个 UI。这会让您知道是否需要调整元素的最小尺寸。
现在对您发布的用户界面进行自上而下的审查:
- “个人资料”看起来不错
- 要使左上角和右上角的框随屏幕尺寸调整大小,您需要 想分别对左右两侧的 super View 进行约束。然后,您需要在两者之间设置水平约束(以保持它们之间的空间。然后您需要将它们设置为相等的宽度。您还可以为每个设置纵横比约束。
- 您的表单看起来不错。如果您想要的外观与您发布的图片不符,我可以在这里提供更多指导。
- 对于表格下方的 View ,您可能需要遵循上面的 #2。
至于高度问题,设置一个从底部 View 到父 View 底部的约束。可能会很拥挤,界面构建器可能会大喊大叫。很有可能,您需要将水平间距约束设置为 =
到 >=
。
关于android - 使用设备和 AutoLayout iOS swift 进行 DP 和缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35317665/