我有一个水平堆栈视图,其中包含一个 UIImageView (1:1纵横比,高度32)和一个标签。由于具有一定高度,所以stackView会在右侧切断我的标签,所以我的行数不能超过一列。
我希望水平StackView的高度增加,因为标签需要显示其自己的文本,或者如果UIImageView的高度较大,则使用UIImageView的高度。
答案 0 :(得分:3)
GitHub存储库:Source Code 检查FirstViewController内部的代码
说明:
步骤1: 更改StackView的约束,以使 height> = minValue 值。之后,其高度将根据UILabel的高度自动调整。
步骤2: 设置文本后,调用UILabel的sizeToFit方法。这将改变UILabel的框架。
lable.text = "SomeText Here. It will expalnd the StackView.omeText Here. It will expalnd the StackView.omeText Here. It will expalnd the StackView.omeText Here. It will expalnd the StackView.omeText Here. It will expalnd the StackView.omeText Here. It will expalnd the StackView.omeText Here. It will expalnd the StackView.omeText Here. It will expalnd the StackView."
lable.sizeToFit()
第3步: 将图像的缩放模式设置为Aspect Fit,并设置其高度和宽度约束。
第4步: 根据需要设置Stackview的对齐方式,我将其设置为top以使图像和Label保持在顶部。
最终结果:
约束:
答案 1 :(得分:3)