【发布时间】:2018-06-06 11:38:27
【问题描述】:
下方的分享图标(图片为白色)为 114x128 像素。
使用 AutoLayout 将 Interface Builder 中的高度固定为 23 像素,然后将 Aspect Fit 用于 Content Mode 不会改变框架矩形。
这会导致对齐问题,因为如果您希望图标距离后缘 15 像素,现在很难做到。
一种选择是手动将纵横比(即 114/128)设置为 IB 中的 AutoLayout 约束。
但这非常脆弱。如果您更改图像尺寸,您必须记住调整纵横比。
有没有办法让 IB 自动调整框架矩形以及内容?
最后一个选项是在代码中做所有事情,但在 IB 中做所有事情是理想的。
框架矩形在 IB 中没有改变:
分享图标(白色图标,此处不可见):
【问题讨论】:
-
.contentMode 不会改变框架。只有图像在框架内的显示方式。我认为实现你想要的唯一方法是使用代码。
-
@Demosthese 如果你是对的,这很令人沮丧。框架随内容而变化更有意义,否则您会遇到上述对齐问题。啊,苹果!
-
嗯,在代码中非常容易做到。就像一条线。为什么不呢?
-
@Demosthese 因为还有更多图标 :)
标签: ios uiimageview autolayout storyboard interface-builder