Swift /如何根据屏幕大小更改autocontraint值

时间:2016-03-06 19:02:51

标签: ios swift

我正在使用扩展程序来识别设备。我在iPhone 5S上显示的UIImage太大了。我想根据设备缩放约束。我希望它是这样的:

if modelName == "Simulator" {
    cell.eventsImageViewWidthContraint =  Original * 0.8
}

将约束大小(在360时刻)更改为大小约为0.8的正确代码是什么。

2 个答案:

答案 0 :(得分:2)

看起来你现在将ImageView的宽度限制为常量。我建议使用2个选项作为使用常量的替代方法。我假设您正在使用Interface Builder。

  1. 将左右边缘限制在距离包含视图一定距离处。
  2. 将宽度约束为包含视图宽度的比率。这可以通过从图像视图中拖动到其包含视图并选择“宽高比”来实现。您可以通过单击Interface Builder中的约束并调整Size Inspector中的值来微调您执行比率的维度。
  3. 您还可以尝试Size Classes根据屏幕的常规尺寸更改视图的尺寸。

答案 1 :(得分:1)

如果您使用的是代码,请遵循上述建议。如果您正在寻找代码中的简单解决方案,请获取大小视图的框架并使用这些数字进行计算。例如:

yourView.bounds.width = 0.5 * yourRootView.bounds.width

此代码将视图的宽度设置为其根视图宽度的一半