如果我從storyboard添加視圖,我可以通過代碼處理它們的自動佈局約束,但是如果我在通過代碼添加的視圖上嘗試此操作,無法處理它。Autolayout(VFL)for View添加了代碼而不是storyboard
我打電話在我的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)
什麼是你得到的錯誤或佈局約束警告? – ozgur
@ozgur錯誤噸我甚至不能複製/粘貼在這裏,但主要是「將嘗試通過打破約束恢復」,如果你有時間,你可以複製/粘貼到新項目的主視圖控制器的viewdidload查看所有問題我得到 – turushan