SnapKit- 无法通过循环访问 UIViews 添加约束
SnapKit- Unable to add constraints by looping through UIViews
我有多个 TextField,我想对其应用类似的布局约束。我没有重复这些约束,而是创建了一个类型为 (UITextField, UIView)
的元组数组,其中 UITextField 是我要向其添加约束的文本字段,而视图是包含此类文本字段的视图。
我的代码如下:
let textFields: [(UITextField, UIView)] = ...
for textFieldTuple in textFields {
let textField = textFieldTuple.0!
let view = textFieldTuple.1!
textField.snp.makeConstraints { (make) -> Void in
make.top.equalTo(view.snp.top)
make.bottom.equalTo(view.snp.bottom)
make.left.equalTo(view.snp.left)
make.right.equalTo(view.snp.right)
}
}
但是,当我 运行 我的应用程序崩溃时,由于闭包中的第一个约束。我是否能够从这样的位置进行约束,或者我应该为每个 TextField 明确地编写它们吗?谢谢
崩溃详情:
libc++abi.dylib: terminating with uncaught exception of type NSException
在设置 2 个项目之间的约束之前,它们之间应该存在布局依赖性,因此在设置约束之前将每个文本字段添加到相应的视图
我有多个 TextField,我想对其应用类似的布局约束。我没有重复这些约束,而是创建了一个类型为 (UITextField, UIView)
的元组数组,其中 UITextField 是我要向其添加约束的文本字段,而视图是包含此类文本字段的视图。
我的代码如下:
let textFields: [(UITextField, UIView)] = ...
for textFieldTuple in textFields {
let textField = textFieldTuple.0!
let view = textFieldTuple.1!
textField.snp.makeConstraints { (make) -> Void in
make.top.equalTo(view.snp.top)
make.bottom.equalTo(view.snp.bottom)
make.left.equalTo(view.snp.left)
make.right.equalTo(view.snp.right)
}
}
但是,当我 运行 我的应用程序崩溃时,由于闭包中的第一个约束。我是否能够从这样的位置进行约束,或者我应该为每个 TextField 明确地编写它们吗?谢谢
崩溃详情:
libc++abi.dylib: terminating with uncaught exception of type NSException
在设置 2 个项目之间的约束之前,它们之间应该存在布局依赖性,因此在设置约束之前将每个文本字段添加到相应的视图