我应该对此图像视图应用哪些约束?
What constraints I should apply to this image view?
我是设计出身。使用 Auto layout 对我来说就像在没有任何以前的语言知识的情况下试图理解 Klingon。自动布局违背了良好理解的所有逻辑。
我遇到这种情况:
要显示纵向和横向的 400x400 像素的图像视图。此图片必须以 1:1 的纵横比显示,并在设备横向时自行调整为更小。
"image editing" 逻辑表明我必须应用以下约束:
- 1:1纵横比
- leading/trailing 共 10 分。
- 居中 Y 以查看
这适用于纵向,但当我将设备旋转到横向时,图像将扩展以符合 10 点的 leading/trailing 并且将被剪裁 top/bottom。
然后我想,我可以向视图 >= 10 pt
添加一个 top/bottom 约束...不。图像被水平拉伸并且不符合 1:1.
的纵横比
然后我将 leading/trailing 更改为 >=10
,现在图像是这样的:
- 1:1纵横比
- leading/trailing >=10 分。
- top/bottom >=10 分。
这是可行的,但 Xcode 抱怨图像视图需要对 Y 位置或高度进行约束!
对我来说,Y 是根据 leading/trailing/top/bottom 约束完美定义的,我无法定义高度,因为运行的每个设备都有一个高度。
看在上帝的份上。如何解决?
有几种方法可以解决这个问题,但最简单的可能是:
将前导、尾随、顶部和底部约束全部设置为 10
将 ImageView 的 Content Mode
设置为 Aspect Fit
我是设计出身。使用 Auto layout 对我来说就像在没有任何以前的语言知识的情况下试图理解 Klingon。自动布局违背了良好理解的所有逻辑。
我遇到这种情况:
要显示纵向和横向的 400x400 像素的图像视图。此图片必须以 1:1 的纵横比显示,并在设备横向时自行调整为更小。
"image editing" 逻辑表明我必须应用以下约束:
- 1:1纵横比
- leading/trailing 共 10 分。
- 居中 Y 以查看
这适用于纵向,但当我将设备旋转到横向时,图像将扩展以符合 10 点的 leading/trailing 并且将被剪裁 top/bottom。
然后我想,我可以向视图 >= 10 pt
添加一个 top/bottom 约束...不。图像被水平拉伸并且不符合 1:1.
然后我将 leading/trailing 更改为 >=10
,现在图像是这样的:
- 1:1纵横比
- leading/trailing >=10 分。
- top/bottom >=10 分。
这是可行的,但 Xcode 抱怨图像视图需要对 Y 位置或高度进行约束!
对我来说,Y 是根据 leading/trailing/top/bottom 约束完美定义的,我无法定义高度,因为运行的每个设备都有一个高度。
看在上帝的份上。如何解决?
有几种方法可以解决这个问题,但最简单的可能是:
将前导、尾随、顶部和底部约束全部设置为 10
将 ImageView 的 Content Mode
设置为 Aspect Fit