2

J'ai une simple UICollectionView définie dans mon storyboard (voir capture d'écran).UICollectionVoir la bonne taille dans viewDidLoad

enter image description here

J'utilise la mise en page automatique, le UICollectionView est attaché au superview de diriger, de fuite et en haut et à la barre d'outils pour le fond.

Lorsque j'affiche dans la console la taille de la UICollectionView en viewDidLoad avec:

NSLog(@"%s CollectionView ========== > height:%f width:%f", __PRETTY_FUNCTION__,self.theCollectionView.bounds.size.height, self.theCollectionView.bounds.size.width); 

je reçois: CollectionView ==========> Hauteur du cadre: 492,000000 Largeur: 600,000000

Cette taille est celle qui est également affichée dans le storyboard (Largeur: 600 Hauteur: 492).

Quand je lance le même journal dans viewDidAppear, je reçois: CollectionView ==========> Hauteur du cadre: 663,000000 Largeur: 1024,000000

qui est ce que je pense. Je suis surpris d'avoir la taille appropriée seulement dans le viewDidAppear, s'il vous plaît pouvez-vous expliquer ou y a-t-il quelque chose de mal dans mon storyboard?

Merci,

Sébastien.

+1

Ceci est le comportement attendu. Les images ne sont pas correctes dans viewDidLoad. – almas

+0

merci pour le retour rapide. Alors, quand puis-je compter sur la taille des cadres? – sebastien

+0

voir la réponse @ Tanner Nelson – almas

Répondre

3

Pour tout cadre taille dépendant, j'utilise habituellement

override func viewDidLayoutSubviews() 

Cela prendra en considération Rotation auto aussi bien.

+0

Merci, j'ai surchargé ViewDidLayoutSubviews() et la taille de l'image est correcte. – sebastien