UICollectionView & Header Height
Bonjour tout l'monde !
P'tite question sur un sujet qui m'énerve car je n'arrive pas à faire ce que je veux (si j'y arrivais j'poserais pas la questions :P)
Le but :
Faire une vue personnalisée d'un Calendrier, vue Hebdomadaire.
J'ai géré les trucs de dates (les cellules à afficher, etc.). Je compte linker ça ensuite avec le Calendrier.app (et EKEvent).
Mais j'ai tout de même besoin d'un visuel.
J'ai une UICollectionView que j'ai drag & droppé sur un UIViewController du storyboard.
J'ai customisé mes UICollectionViewCells dans le storyboard.
J'ai un soucis que j'ai dû mal à capter.
Pourquoi est-ce que ma première lignes de cellules est systématiquement placé à une 50aine de pixels par rapport à l'origine y de la UICollectionView.
Ce j'ai fait :
Sur IB, en sélectionnant la UICollectionView, sont settez : Header Size à 0, Footer Size à 0.
Sections Insets à 0,0,0,0.
J'ai une seule section (d'où j'ai l'impression que ce soit un header).
Dans le code, j'ai (mis p'têt' en trop):
-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return UIEdgeInsetsMake(0, 0, 0, 0);
}
J'ai également rajouté :
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
{
return CGSizeMake(0, 0);
}
En bref, j'suis perdu, j'vois pas ce que je pourrais faire...
Un p'tit screenshot :
Le bout de truc gris en haut, c'est la NavBar.
Le truc jauge, c'est la UICollectionView (background en jaune pour bien remarquer qu'il y a un espace).
Ne faites pas attentions aux "23" en clairs, ils disparaitront par la suite, mais c'était pour vérifier qu'il n'y en avait pas de cachés.
Réponses
J'ai pas le temps de regarder en détail, mais c'est le UICollectionViewLayout qu'il faut éditer dans IB, par la collection view. Est-ce bien ce que tu fais ?
Ah tiens, je l'avais pas remarqué ce Collection View Flow Layout dans IB...
Pareil : 0,0 en Header Size.
D'ailleurs, si ça peut aider, dans IB, la cell qui sert " d'exemple " se retrouve loin du origin.y de la CollectionView.
Quand j'regarde sa vue, pas possible de modifier les paramètres (0,64,44,30) de view.
Je sais d'où viennent les 44 et 30, mais pas le 64.
Bon, j'ai résolu mon problème, pas de la plus belle façon mais je l'ai résolu.
J'ai créé sur un projet de tests la même chose. Et quand j'ai placé la cell, elle s'est mise tout en haut.
Du coup, j'ai delete les éléments sur mon projets dans le StoryBoard et j'ai recommencé.
ça marche. Bon, par contre, j'ai pas capté réellement pourquoi, mais ça marche.