Autolayout调整UIView不工作
问题描述:
我试图让UIView courseView自动布局。我希望UIView的比例保持不变,直到最外边缘距离超视图边缘15点。 由于某些原因courseView填充整个超视图(减去15分),并没有调整大小以适应。所以有些不显示并被切断。Autolayout调整UIView不工作
self.view.addSubview(courseView!)
let aspectConstraint = NSLayoutConstraint(item: courseView,
attribute: .Height,
relatedBy: .Equal,
toItem: courseView,
attribute: .Width,
multiplier: courseView.frame.size.height/courseView.frame.size.width,
constant: 0.0)
aspectConstraint.active = true
let topConstraint = courseView.topAnchor.constraintGreaterThanOrEqualToAnchor(topLayoutGuide.bottomAnchor, constant: 15)
topConstraint.active = true
let leadingConstraint = courseView.leadingAnchor.constraintLessThanOrEqualToAnchor(view.leadingAnchor, constant: 15)
leadingConstraint.active = true
let trailingConstraint = courseView.trailingAnchor.constraintGreaterThanOrEqualToAnchor(view.trailingAnchor, constant: -15)
trailingConstraint.active = true
let bottomConstraint = courseView.bottomAnchor.constraintLessThanOrEqualToAnchor(view.bottomAnchor, constant: -15)
bottomConstraint.active = true
任何想法?谢谢!
答
只需在添加约束之前禁用translatesAutoresizingMaskIntoConstraints,它应该可以正常工作。
courseView.translatesAutoresizingMaskIntoConstraints = false;
顺便说一句,你不需要aspectConstraint,因为这将最有可能打破constratints(它确实对我来说,当我试图)。