锚点在集合视图单元格布局中不起作用

anchor does not work in collection view cell layout

我想在我的 CustomCollectionViewController 的单元格中添加一个 collectionView,在前导和尾随位置都使用常量 space,我尝试了锚点类型和虚拟格式类型,但锚点似乎不起作用我想。尾随 space 丢失。

这是我的代码:

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

trailingAnchor.constraint 的常量值需要为 -8 而不是 8。

appView.trailingAnchor.constraint(equalTo: layoutGuide.trailingAnchor, constant: -8).isActive = true