繁体   English   中英

Swift /如何根据屏幕尺寸更改自动约束值

[英]Swift / how to change autocontraint value depending on screen size

我正在使用扩展程序来识别设备。 我有一个UIImage在iPhone 5S上看起来太大。 我想根据设备缩放约束。 我希望它像这样:

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

什么是正确的代码才能将约束大小(目前为360)更改为该大小的约0.8。

看来您目前正在限制ImageView的宽度为常数。 我建议使用2个选项来代替使用常量。 我假设您正在使用Interface Builder。

  1. 将左边缘和右边缘约束到与包含视图相距一定距离的位置。
  2. 将宽度限制为包含视图的宽度的比率。 这可以通过ctrl +从图像视图拖动到其包含的视图并选择“纵横比”来实现。 您可以通过单击“界面生成器”中的约束并在“大小”检查器中调整值来微调执行比例的尺寸。

您也可以尝试使用大小类来根据屏幕的常规大小更改视图的大小。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM