Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在stackview中的某些元素内设置空间_Ios_Swift - Fatal编程技术网

Ios 在stackview中的某些元素内设置空间

Ios 在stackview中的某些元素内设置空间,ios,swift,Ios,Swift,从本质上讲,我试图创建一个包含一些元素的UIStackView,这些元素具有上边距和下边距。比如说 | item one | | item two | | | | itemfour | 我已尝试添加一个新视图: let textField1 = UITextField(text: "one") let textField2 = UITextField(text: "two") let textField3 = UITextField(text: "four")

从本质上讲,我试图创建一个包含一些元素的UIStackView,这些元素具有上边距和下边距。比如说

| item one |  
| item two |  
|          |  
| itemfour | 
我已尝试添加一个新视图:

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)
但是,我在stack视图中设置的高度似乎不会影响正在stack视图中创建的空间

PS:如果有更好的方法在两个项目之间添加上下页边距,我肯定会接受,因为添加UIView感觉真的很粗糙

你可以:

  • 创建一个间隔视图,该视图是一个带有单个空格(
    ”)的
    文本的
    UILabel
    。这将为您提供一个与文本其余部分高度相同的空行。如果将分发设置为
    filllevely
    (它也可以在其他模式下工作,但我提到它是因为
    distribution
    在下面的选项2中很重要)
  • 或者

  • 创建
    UIView
    的子类并重写其
    intrinsicContentSize
    ,返回指定所需高度的
    CGSize
    。不要设置此视图的
    框架
    (即让
    UIStackView
    管理视图的框架)。请注意,此方法仅在
    UIStackView
    的分布未设置为
    fillquality
    时有效
  • 你可以:

  • 创建一个间隔视图,该视图是一个带有单个空格(
    ”)的
    文本的
    UILabel
    。这将为您提供一个与文本其余部分高度相同的空行。如果将分发设置为
    filllevely
    (它也可以在其他模式下工作,但我提到它是因为
    distribution
    在下面的选项2中很重要)
  • 或者

  • 创建
    UIView
    的子类并重写其
    intrinsicContentSize
    ,返回指定所需高度的
    CGSize
    。不要设置此视图的
    框架
    (即让
    UIStackView
    管理视图的框架)。请注意,此方法仅在
    UIStackView
    的分布未设置为
    fillquality
    时有效