Ho una vista raccolta che ha un UICollectionViewFlowLayout Ho inserito 10 elementi. e hanno dimensioni diverse:UICollectionVisualizza layout dell'ultima cella
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row<6) {
CGSize retval = CGSizeMake(100, 100);
return retval;
}
CGSize retval = CGSizeMake(200, 130);
return retval;
}
esso layout come: primi 6 celle guardare bene, e 7-9 sono corrette, ma l'ultimo non è il centro allineato,
Qualcuno potrebbe spiegarmi questo?
e risentimento giorni Sto giocando con i layout di raccolta, ma mi sento ancora confuso con la selezione di flowlayout e layout personalizzato. qualche principio su questo?
molti thx in anticipo.
UICollectionView tenta sempre di riempire il numero di elementi che possono essere contenuti nella riga. Puoi vedere quello nel tuo esempio: nell'immagine 1, c'è spazio per 3 elementi per riga, ma nell'immagine 2, c'è solo spazio per un'immagine. Ora il problema nell'ultima riga è che UICollectionView non sa, se un altro oggetto sarà lì o meno, quindi si allinea al lato e attende un elemento successivo. Questo è un problema con autoLayout, le viste sono allineate automaticamente e non con il delegato del layout. (Forse questo aiuta qualcuno a risolvere questo problema, in quanto sembra essere ancora aperto) – choli