Le comportement de la UICollectionViewFlowLayout n'est pas défini
J'ai une vue de collection qui est mis en place comme une seule rangée de cellules. C'est jeter la suite de l'erreur de contrainte (je suis à l'aide de mise en page automatique):
Le comportement de la UICollectionViewFlowLayout n'est pas définie, car la hauteur de l'article doit être inférieure à la hauteur de la UICollectionView moins la section des encarts de haut et le bas des valeurs, moins le contenu des encarts de haut et le bas des valeurs.
J'ai Googlé autour et regarda ALORS, et tout le monde suggère que c'est corrigé simplement en remplaçant la UIScrollViewDelegate méthodes:
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
//iPhone 6+ device width handler
CGFloat multiplier = (screenWidth > kNumberOfCellsWidthThreshold) ? 4 : 3;
CGFloat size = screenWidth / multiplier;
return CGSizeMake(size, size);
}
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return UIEdgeInsetsMake(0, 0, 0, 0);
}
Mais ça ne marche toujours pas. Il semble observer le fait que la hauteur de la cellule est plus grande que son conteneur, même si je suis réglage de la cellule à la même hauteur que le conteneur. Voici le reste de l'erreur:
Pertinentes UICollectionViewFlowLayout instance est UICollectionViewFlowLayout: 0x7fa6943e7760, et il est attaché à MyCollectionView: 0x7fa69581f200; baseClass = UICollectionView;
frame = (0 0; 375 98); clipsToBounds = OUI; autoresize = RM+BM;
couche = CALayer: 0x7fa694315a60; contentOffset: {0, 0}; contentSize: {0, 134}
Réglage de la cellule manuellement pour un considérablement plus petite taille (par exemple size - 50.0
semble fonctionner, mais pourquoi je ne peux pas définir la taille de la cellule à la même hauteur que son contenant?
J'ai déjà ajouté l'erreur dans la question; je vais ajouter un exemple de l'affichage de la collection si vous le souhaitez, mais il ne va pas vous dire quelque chose de plus que ce que j'ai déjà fourni.
OriginalL'auteur brandonscript | 2015-09-19
Vous devez vous connecter pour publier un commentaire.
S'avère que la pièce manquante de ma question était le fait que ce
UICollectionView
est imbriquée à l'intérieur d'unUITableView
. iOS 8 introduitlayoutMargins
en place de contenu les valeurs de décalage.Par cette question: iOS 8 UITableView séparateur encart 0 ne fonctionne pas
J'ai dû remplacer mon contenant la vue de la table de marges de la cellule:
Lire la réponse. CollectionView est imbriqué à l'intérieur TableView.
OriginalL'auteur brandonscript
swift pour remplacer des cellules
OriginalL'auteur megimix