设置堆栈视图内某些元素的空间

本质上,我试图创建一个具有顶部边距和底部边距的元素的UIStackView。例如设置堆栈视图内某些元素的空间

| item one | 

| item two |

| |

| itemfour |

我已尝试添加一个spacerView:

let textField1 = UITextField(text: "one") 

let textField2 = UITextField(text: "two")

let textField3 = UITextField(text: "four")

let spacerView = UIView(frame: CGRect(x: 10, y: 10, width: 100, height: 100))

viewStack.addSubView(textField1)

viewStack.addSubView(textField2)

viewStack.addSubView(spacerView)

viewStack.addSubView(textField3)

但是,我设置的spacerView似乎并没有影响其在堆栈视图中创建的空间高度。

PS:如果将两个项目之间的顶部和底部边缘的一个更好的办法,我如添加一个UIView肯定愿意将那感觉真是哈克

回答:

,你可以:

  1. 做一个spacer视图,这是一个UILabeltext单个空间(" ")。这会给你一个与你的文本其余部分高度相同的空白行。如果发行版设置为fillEqually(这也适用于其他模式,但我提到它,因为distribution在下面的选项#2中很重要)。

,或者

  • 创建的UIView子类,并覆盖其intrinsicContentSize,返回一个CGSize,用于指定要的高度。不要设置此视图的frame(即让UIStackView管理视图的框架)。请注意,此方法仅适用于UIStackView的分配是而不是设置为fillEqually
  • 以上是 设置堆栈视图内某些元素的空间 的全部内容, 来源链接: utcz.com/qa/265363.html

    回到顶部