我想在CustomCollectionViewController的单元格中添加一个collectionView,在前导和尾随位置都有恒定的空间,我尝试了锚点类型和虚拟格式类型,但锚点似乎不能像我想要的那样工作。缺少尾随空格。
这是我的代码:
class CategoryCell: UICollectionViewCell, UICollectionViewDelegateFlowLayout {
override init(frame: CGRect) {
super.init(frame: frame)
setupViews()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
let appView:UICollectionView = {
let layout = UICollectionViewFlowLayout()
let view = UICollectionView(frame: .zero, collectionViewLayout: layout)
view.translatesAutoresizingMaskIntoConstraints = false
view.backgroundColor = UIColor.blue
return view
}()
func setupViews() {
contentView.addSubview(appView)
let layoutGuide = contentView.layoutMarginsGuide
appView.leadingAnchor.constraint(equalTo: layoutGuide.leadingAnchor, constant: 8).isActive = true
appView.trailingAnchor.constraint(equalTo: layoutGuide.trailingAnchor, constant: 8).isActive = true
appView.topAnchor.constraint(equalTo: layoutGuide.topAnchor).isActive = true
appView.bottomAnchor.constraint(equalTo: layoutGuide.bottomAnchor).isActive = true
// addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-8-[v0]-8-|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": appView]))
// addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[v0]|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": appView]))
}
}
layout with Anchor
但是如果你使用旧的虚拟格式样式,它很好用,这让我很困惑
layout with virtual format string