Я создал собственный класс для UICollectionView.И я хочу поместить другой вид Коллекции в ячейку первого класса.
import UIKit
class ModeCell: UICollectionViewCell {
override init(frame: CGRect) {
super.init(frame: frame)
setupView()
}
let modeCollection : UICollectionView = {
let layout = UICollectionViewFlowLayout()
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
collectionView.backgroundColor = .cyan
collectionView.translatesAutoresizingMaskIntoConstraints = false
return collectionView
}()
func setupView(){
backgroundColor = .red
addSubview(modeCollection)
addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:[v0(180)]-20-|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": modeCollection]))
addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-25-[v0(180)]", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": modeCollection]))
addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-30-[v0(160)]|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": modeCollection]))
addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-95-[v0]", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": modeCollection]))
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
Этот код работает нормально, но мне интересно, возможно ли использовать ограничения, как я использую их в другом проекте:
modeCollection.centerXAnchor.constraint (equalTo: .centerXAnchor).isActive = true modeCollection.
Проблема в том, что в моем новом пользовательском классе нет "представления", и мне не на что ссылаться ...