Sur la base de ale84
En raison de la réponse de l'entreprise et du fait que j'avais besoin de la correction iOS 12 à plusieurs endroits, j'ai créé une extension UICollectionViewCell que j'ai nommée UICollectionViewCell+iOS12 :
extension UICollectionViewCell {
/// This is a workaround method for self sizing collection view cells which stopped working for iOS 12
func setupSelfSizingForiOS12(contentView: UIView) {
contentView.translatesAutoresizingMaskIntoConstraints = false
let leftConstraint = contentView.leftAnchor.constraint(equalTo: leftAnchor)
let rightConstraint = contentView.rightAnchor.constraint(equalTo: rightAnchor)
let topConstraint = contentView.topAnchor.constraint(equalTo: topAnchor)
let bottomConstraint = contentView.bottomAnchor.constraint(equalTo: bottomAnchor)
NSLayoutConstraint.activate([leftConstraint, rightConstraint, topConstraint, bottomConstraint])
}
}
Ensuite, dans les cellules de votre vue de collection, nous faisons quelque chose comme ceci (si votre cellule est créée dans IB) :
override func awakeFromNib() {
super.awakeFromNib()
if #available(iOS 12, *) { setupSelfSizingForiOS12(contentView: contentView) }
}