代码之家  ›  专栏  ›  技术社区  ›  bhartsb

故事板中的UIStackView强制内部内容大小

  •  0
  • bhartsb  · 技术社区  · 6 年前

    在故事板中,我将UIStackView添加到UIView中,在UIStackView中,我添加了一个指定了图像的UIImageView。指定的映像位于XCAssets中,大小为59X60的2倍。UIImageView正在将其宽度设置为此固有大小,但我希望它为44X44,并将图像缩放到合适的大小。但是,在具有和高度设置的情节提要中,ImageView和UIStackView禁用并设置为59X60。我想有5个相同的图像视图,其中恒星水平叠加在视图内部的44X44处。

    enter image description here

    更新:向UIStackView添加高度约束似乎会导致缩放,但恒星的外观会发生扭曲。

    1 回复  |  直到 6 年前
        1
  •  4
  •   rob mayoff    6 年前

    宽度和高度字段变灰,因为图像视图位于堆栈视图内。必须使用约束来控制堆栈视图的排列子视图的大小。

    首先,确保所有五星视图的内容模式都设置为Aspect Fit:

    set content mode to aspect fit

    然后,将所有五星视图约束为彼此具有相同的宽度和高度:

    equal widths and heights constraints

    最后,约束其中一个星形视图的恒定宽度为44,恒定高度为44:

    constant width and height constraints

    stack view spacing

    如果要在星形周围填充,可以在堆栈视图外部执行,也可以将堆栈视图的布局边距设置为固定常量(并关闭安全区域相对边距):

    stack view layout margins