如果我从情节提要中添加视图,我可以通过代码处理他们的自动收费限制,但是如果我在一个通过代码添加的视图上进行尝试,就无法处理它。
我在viewDidLoad()中调用下面的代码,但是没有工作,缺少的部分是什么?
var testView = UIView()
testView.backgroundColor = UIColor.greenColor()
self.view.addSubview(testView)
let views : [String : AnyObject] = ["testView": testView]
var allConstraints = [NSLayoutConstraint]()
let verticalConstraint = NSLayoutConstraint.constraintsWithVisualFormat(
"V:|-[testView(100)]",
options: [],
metrics: nil,
views: views)
allConstraints += verticalConstraint
let horizontalConstraint = NSLayoutConstraint.constraintsWithVisualFormat(
"H:|-[testView(200)]",
options: [],
metrics: nil,
views: views)
allConstraints += horizontalConstraint
NSLayoutConstraint.activateConstraints(allConstraints)ps:也试过这些台词,但是没有帮助
self.view.addConstraints(verticalConstraint)
self.view.addConstraints(horizontalConstraint)发布于 2015-12-31 09:42:28
您需要关闭自动调整掩码到约束的转换。默认情况下,它的设置为true,如果您倾向于忘记这一点,它将添加您不打算添加的约束。
您可以将此设置为false
var myView = UIView()
myView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(myView)translatesAutoresizingMaskIntoConstraints 如果此属性的值为“是”,则系统将创建一组约束,这些约束重复视图的自动调整掩码所指定的行为。默认情况下,对于以编程方式创建的任何视图,该属性设置为“是”。如果在Interface中添加视图,系统会自动将此属性设置为否。
https://stackoverflow.com/questions/34544102
复制相似问题