2013-06-09 17 views
21

Ho un UICollectionView, un pulsante che crea una nuova cella nella vista di raccolta. E voglio UICollectionView per regolare la sua dimensione in base alla sua dimensione del contenuto (quando ci sono una o due celle quindi UICollectionView è breve, se ci sono molte celle UICollectionView è abbastanza grande).Autoresize UICollectionView height per adattarsi alla sua dimensione del contenuto

so come ottenere dimensioni del contenuto:

collectionView.collectionViewLayout.collectionViewContentSize

Ma non ho idea di dove poter utilizzare questo valore. Apprezzerei se qualcuno mi aiutasse a capire come rendere UICollectionView in grado di regolarne l'altezza.

UPD: ho pubblicato su GitHub un progetto dimostrativo che descrive il problema: https://github.com/avokin/PostViewer

risposta

6

Non credo che la dimensione del contenuto è quello che stai cercando. Penso che tu voglia regolare la quantità di spazio sullo schermo utilizzato dalla vista raccolta, giusto? Ciò richiederà la regolazione del telaio. La dimensione del contenuto include l'area fuori schermo (a scorrimento) e la visualizzazione a schermo.

non so di nulla che possa impedire di solo cambiando le dimensioni della cornice al volo:

collectionView.frame = CGRectMake (x,y,w,h); 
[collectionView reloadData]; 

Se ti sto comprensione correttamente.

+1

Ho codice come questo: 'cell.tagsCollection.frame = CGRectMake (frame.origin.x, frame.origin.y, size.width, size.height);'. Ma prima di scorrere collectionView.frame altezza e larghezza è 0 e iOS ignora le mie modifiche di questi attributi – AVokin

+0

Come rendere il contenuto di curvatura altezza cella –

0

procedura per modificare il telaio UICollectionView:

  1. impostare il "translatesAutoresizingMaskIntoConstraints" proprietà su Sì per superview del collectioview (Se si sta utilizzando layout automatico)

  2. quindi aggiornare il telaio di collectioview come:

    collectionView.frame = CGRectMake (x,y,w,h); 
    [collectionView reloadData]; 
    
Problemi correlati