Ho un orizzontale UICollectionView
e ogni cella contiene a UIImageView
. Quando posiziono UIImageView all'interno della cella:
lo storyboard ha questo aspetto(notare il UIImageView
prende l'intero spazio del UICollectionViewCell
con un identificatore postInnerCell)
Penso di aver impostato il vincolo usando autoLayout correttamente, con ogni lato del UIImageView
si struggeva ai margini del UICollectionViewCell
. Come questo:
Quando ho eseguito il simulatore, tuttavia, sembra che questo:
L'immagine non riempie l'intero spazio del collectionViewCell
(con il colore di sfondo grigio). La modalità di contenuto del UIImageView
è impostato per essere riempire l'aspetto nel generatore di interfacce.
Ecco la mia gerarchia di vista:
** Nota che l'intero UICollectionView
è una cella di tableView (in sostanza, quello che provoper realizzare ogni riga della tabellaView è un cursore orizzontale). Non sono sicuro che sia il problema. Qualcuno ha qualche idea sul perché si verifichi un simile problema. **
risposte:
1 per risposta № 1Si scopre che ho bisogno di ri-layout della sottoview chiamando cell.layoutIfNeeded()
prima di restituire la cella nel collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath)
metodo. Grazie al contributo di risposta qui UICollectionViewCell contenuto di dimensioni errate al primo carico
0 per risposta № 2
Impostato Content hugging priority
della visualizzazione dell'immagine a Low (250)
.
0 per risposta № 3
IIRC, la vista del contenuto della cella verrà ridimensionata senza attivare AutoLayout, quindi è necessario attivare manualmente un passaggio di layout (ad es. .needsLayout = true
o aggiungere vincoli dalla visualizzazione del contenuto alla cella