Swift 添加具有约束的子视图无效
我想添加带有一些约束的子视图 但我的观点没有出现。 下面是一些代码,有人知道出了什么问题吗 (如果我添加UITextField,例如,它工作正常…)Swift 添加具有约束的子视图无效,swift,uiview,constraints,addsubview,Swift,Uiview,Constraints,Addsubview,我想添加带有一些约束的子视图 但我的观点没有出现。 下面是一些代码,有人知道出了什么问题吗 (如果我添加UITextField,例如,它工作正常…) 添加高度约束或底部约束,您将看到视图。它与UITextField一起工作的原因是UITextField有一个固有的内容大小,而UIView没有。没问题,在您熟悉它之前,自动布局不是最容易的事情。 class TestViewController:UIViewController { override func viewDidLoad() {
添加高度约束或底部约束,您将看到视图。它与UITextField一起工作的原因是UITextField有一个固有的内容大小,而UIView没有。没问题,在您熟悉它之前,自动布局不是最容易的事情。
class TestViewController:UIViewController {
override func viewDidLoad() {
//Do not work...
addAndLayout(v: UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0)))
//Works fine
//addAndLayout(v: UITextField(frame: CGRect(x: 0, y: 0, width: 0, height: 0)))
}
func addAndLayout(v:UIView) {
v.backgroundColor = UIColor.red
view.addSubview(v)
v.translatesAutoresizingMaskIntoConstraints = false
let leading = NSLayoutConstraint(item: v, attribute: .leading, relatedBy: NSLayoutRelation.equal, toItem: view, attribute: .leading, multiplier: 1, constant: 0)
let trailing = NSLayoutConstraint(item: v, attribute: .trailing, relatedBy: NSLayoutRelation.equal, toItem: view, attribute: .trailing, multiplier: 1, constant: 0)
let top = NSLayoutConstraint(item: v, attribute: .top, relatedBy: NSLayoutRelation.equal, toItem: view, attribute: .top, multiplier: 1, constant: 0)
view.addConstraints([leading, trailing, top])
}
}