我将尝试使subview的大小与其superview相同。
override func viewDidLayoutSubviews() {
subView.setTranslatesAutoresizingMaskIntoConstraints(true)
let viewsDictionary = ["subView": subView]
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[subView]|", options: nil, metrics: nil, views: viewsDictionary))
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[subView]|", options: nil, metrics: nil, views: viewsDictionary))
}

我做错了什么?
=========================
更新!
subView.setTranslatesAutoresizingMaskIntoConstraints(false)
let viewsDictionary = ["subView": subView]
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-0.0-[subView]-0.0-|", options: nil, metrics: nil, views: viewsDictionary))
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|-0.0-[subView]-0.0-|", options: nil, metrics: nil, views: viewsDictionary))
}但没有效果=(
经常这样!
发布于 2014-12-29 15:24:42
两个错误(至少)。第一:
subView.setTranslatesAutoresizingMaskIntoConstraints(true)那应该是false,而不是true。
第二:您不想简单地在viewDidLayoutSubviews中这样做,因为该方法在应用程序的生命周期中会被多次调用,而且每次都会无条件地添加新的约束。
https://stackoverflow.com/questions/27691501
复制相似问题