我有适用于 12 英寸 iPad Pro 和 iPad Air 的应用程序。它们具有相同的纵横比。 但是,当使用自动布局时,相同值的约束会使应用在 2 台设备上看起来不同,因为它们与屏幕的磅值有关。
是否可以使用某种引用屏幕坐标系来进行约束,或者是否可以使用其他方法来实现仅在具有相同纵横比的不同屏幕尺寸上缩放的视觉效果?
最佳答案
是的,您可以使用 multiplier
属性来设置与屏幕尺寸或您选择的任何内容相关的约束。例如,如果您将其设置为 0.3
,则表示您限制的 30%。例如,自定义 View 的宽度将是父 View 宽度的 30%。
此外,您还可以使用 UIStackView
。它负责适本地调整内部 View 的大小。 Apple 建议尽可能一直使用它。
剩余 10% 边距的示例。
let leftMarginGuide = UILayoutGuide()
view.addLayoutGuide(leftMarginGuide)
NSLayoutConstraint.activate([
leftMarginGuide.leadingAnchor.constraint(equalTo: view.leadingAnchor),
leftMarginGuide.topAnchor.constraint(equalTo: view.topAnchor),
leftMarginGuide.bottomAnchor.constraint(equalTo: view.bottomAnchor),
leftMarginGuide.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.1)
])
关于iOS - 对不同的 iPad 尺寸使用相同的约束,只是缩放 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49194906/