如何根据设备大小按比例调整NSConstraint的长度

时间:2017-06-27 07:05:03

标签: ios iphone swift constants ios10

我想根据设备大小更改上述约束的长度,因此我的文本始终与屏幕顶部成比例的距离。

enter image description here

3 个答案:

答案 0 :(得分:1)

您可以通过在UI本身中调整乘数来增加屏幕高度来执行比例顶部空间。

它会自动调整顶部空间而不会出现任何出口限制。

-> UIView

     -> UILabel (make hidden,for adjusting proportional top space)

         Constraints : top space - 8(default), width - 50(constant any value) , center horizantaly of parent UIView, equal height to parent UIView.
         Now modify your multipliers of proportional height to 0.2 (20% from your main view height) or 0.3(30 %).It will adjust based on screen size automatically.

     - > UILabel (Verification Code) Constraints : top space min 8 (default) & others...

enter image description here

答案 1 :(得分:0)

您可以使用self.view.frame.height

像这样:

let height = self.view.frame.size.height
let constraint = CGFloat(Double(height) / 3)

yourConstraint.constant = constraint

此约束的yourConstraint@IBOutlet。您可以像UILabelUIView等其他项目一样添加它。只需将其拖放到您的代码中即可。

希望有所帮助

答案 2 :(得分:0)

首先为约束创建一个IBOutlet。

让你的约束名是myConstraint。现在,如果您希望验证码的距离从顶部开始为20% 您可以使用以下代码:

var parentFrameHeight = self.view.frame.height
myConstraint.constant = parentFrameHeight*(0.2)