当我添加rightAnchor约束时,constant = 20不适用。在leftAnchor还可以
override init(frame: CGRect) {
super.init(frame: frame)
addSubview(collectionView)
collectionView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([collectionView.leftAnchor.constraint(equalTo: leftAnchor, constant: 20),
collectionView.topAnchor.constraint(equalTo: self.topAnchor),
collectionView.rightAnchor.constraint(equalTo: rightAnchor, constant: 20),
collectionView.heightAnchor.constraint(equalTo: self.heightAnchor)])
}
有人能帮我吗?
我有一种非常强烈的感觉,这就是你想为rightAnchor
做的事情。
collectionView.rightAnchor.constraint(equalTo: rightAnchor, constant: -20)
如果要从右侧或底部填充,则应使用负值。
经验法则:无论是左边还是右边的东西都是消极的。
您正在添加20 + rightAnchor的超级视图。它应该是-20
addSubview(collectionView)
collectionView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([collectionView.leftAnchor.constraint(equalTo: leftAnchor, constant: 20),
collectionView.topAnchor.constraint(equalTo: self.topAnchor),
collectionView.rightAnchor.constraint(equalTo: rightAnchor, constant: -20),
collectionView.heightAnchor.constraint(equalTo: self.heightAnchor)])