J'ai collectionview à l'intérieur de la cellule tableview et j'utilise nib pour ma cellule view collection (dans laquelle j'utilise la mise en page automatique pour mon imageview et mes étiquettes et il est en mode Freeform). Je mets la taille de la cellule dans la classe tableviewcell qui gère le délégué pour collectionview à l'intérieur par cette méthode:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: 200, height :150)
}
Cela fonctionne toujours, mais après Xcode 11, il ne fonctionne pas.
Vous définissez collectionview
Estimer la taille sur Aucun dans Xcode 11. La raison en est que les cellules d'un UICollectionView
peuvent désormais se redimensionner automatiquement avec des vues contraintes de mise en page automatique dans le canevas. Pour activer le comportement des vues de collection existantes, activez "Automatique" pour la taille estimée de la vue de collection et "Automatique" pour la taille de la cellule dans l'inspecteur de taille.
Si vous déployez avant iOS 13, vous pouvez activer les cellules de vue de collection à dimensionnement automatique en appelant performBatchUpdates(_:completion:) during viewDidLoad()
Réf: https://developer.Apple.com/documentation/xcode_release_notes/xcode_11_release_notes
Ce problème vient dans Xcode 11. Accédez à l'inspecteur d'attributs et modifiez la taille estimée à Aucun. va tout réparer.