planter en faisant défiler le TableView qui contient une Collectionview

j'avais ce problème ( UICollectionView à l'intérieur de UITableViewCell – AutoLayout )

et après avoir essayé plusieurs solutions qui sont disponibles sur Internet je suis venu avec cette réponse de @Pablo Romeu j'ai essayé sa solution, maintenant j'ai un TableView avec des cellules de collectionView dedans (qui peut dynamicment changer sa taille selon le contenu dedans) mais quand suis en faisant défiler ma vue de table son écrasement avec cette erreur:

2016-06-13 22:05:51.546 WishMeluck[3507:425240] the behavior of the UICollectionViewFlowLayout is not defined because: 2016-06-13 22:05:51.546 WishMeluck[3507:425240] the item height must be less than the height of the UICollectionView minus the section insets top and bottom values, minus the content insets top and bottom values. 2016-06-13 22:05:51.546 WishMeluck[3507:425240] Please check the values return by the delegate. 2016-06-13 22:05:51.547 WishMeluck[3507:425240] The relevant UICollectionViewFlowLayout instance is <UICollectionViewFlowLayout: 0x7fb83c05de90>, and it is attached to <UICollectionView: 0x7fb83a0c7c00; frame = (0 82.5; 375 179); clipsToBounds = YES; autoresize = RM+BM; tag = 4; gestureRecognizers = <NSArray: 0x7fb83c05cf00>; layer = <CALayer: 0x7fb83c055fb0>; contentOffset: {0, 0}; contentSize: {539, 179}> collection view layout: <UICollectionViewFlowLayout: 0x7fb83c05de90>. 2016-06-13 22:05:51.547 WishMeluck[3507:425240] Make a symbolic breakpoint at UICollectionViewFlowLayoutBreakForInvalidSizes to catch this in the debugger. 2016-06-13 22:05:51.548 WishMeluck[3507:425240] the behavior of the UICollectionViewFlowLayout is not defined because: 2016-06-13 22:05:51.548 WishMeluck[3507:425240] the item height must be less than the height of the UICollectionView minus the section insets top and bottom values, minus the content insets top and bottom values. 2016-06-13 22:05:51.548 WishMeluck[3507:425240] Please check the values return by the delegate. 2016-06-13 22:05:51.548 WishMeluck[3507:425240] The relevant UICollectionViewFlowLayout instance is <UICollectionViewFlowLayout: 0x7fb83c05de90>, and it is attached to <UICollectionView: 0x7fb83a0c7c00; frame = (0 82.5; 375 179); clipsToBounds = YES; autoresize = RM+BM; tag = 4; gestureRecognizers = <NSArray: 0x7fb83c05cf00>; layer = <CALayer: 0x7fb83c055fb0>; contentOffset: {0, 0}; contentSize: {539, 179}> collection view layout: <UICollectionViewFlowLayout: 0x7fb83c05de90>. 2016-06-13 22:05:51.548 WishMeluck[3507:425240] Make a symbolic breakpoint at UICollectionViewFlowLayoutBreakForInvalidSizes to catch this in the debugger. (lldb) 

ne suis pas capable de comprendre la cause de cette erreur si tout le monde sait alors s'il vous plaît aidez-moi

ajouté ces codes à mon TableViewCell

  override func awakeFromNib() { super.awakeFromNib() // Initialization code // collectionViewContainer.frame = self.bounds; // collectionViewContainer.autoresizingMask = [.FlexibleWidth, .FlexibleHeight] let flow: UICollectionViewFlowLayout = (self.collectionView.collectionViewLayout as! UICollectionViewFlowLayout) // Configure the collectionView flow.minimumInteritemSpacing = 1 // This enables the magic of auto layout. // Setting estimatedItemSize different to CGSizeZero // on flow Layout enables auto layout for collectionView cells. // https://developer.apple.com/videos/play/wwdc2014-226/ flow.estimatedItemSize = CGSizeMake(1, 1) // Disable the scroll on your collection view // to avoid running into multiple scroll issues. self.collectionView.scrollEnabled = true } func bindWithModel(model: AnyObject) { // Do your stuff here to configure the tableViewCell // Tell the cell to redraw its contentView self.contentView.layoutIfNeeded() } // THIS IS THE MOST IMPORTANT METHOD // // This method tells the auto layout // You cannot calculate the collectionView content size in any other place, // because you run into race condition issues. // NOTE: Works for iOS 8 or later override func systemLayoutSizeFittingSize(targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority: UILayoutPriority) -> CGSize { // With autolayout enabled on collection view's cells we need to force a collection view relayout with the shown size (width) //self.collectionView.frame = CGRectMake(0, 0, targetSize.width, targetSize.height) self.collectionView.layoutIfNeeded() // If the cell's size has to be exactly the content // Size of the collection View, just return the // collectionViewLayout's collectionViewContentSize. return self.collectionView.collectionViewLayout.collectionViewContentSize() } 

et ceci dans mon CollectionViewCell:

  class CollectionViewCell: UICollectionViewCell { @IBOutlet var imgView: UIImageView! override func awakeFromNib() { self.contentView.setNeedsLayout() } } 

aussi cela dans mon TableViewController:

  // Enable automatic row auto layout calculations self.tableView.rowHeight = UITableViewAutomaticDimension; // Set the estimatedRowHeight to a non-0 value to enable auto layout. self.tableView.estimatedRowHeight = 100 

mon file de projet

votre problème rest à cette ligne

 return self.collectionView.collectionViewLayout.collectionViewContentSize() 

J'avais remplacé avec

 return CGSizeMake(self.collectionView.collectionViewLayout.collectionViewContentSize().width, 300); 

et ne plante pas mais je suis sûr que ce n'est pas ce que vous voulez alors peut-être que vous pouvez mieux voir le problème avec cet indice