2013-06-09 22 views
21

Koleksiyon görünümde yeni bir hücre oluşturan bir düğme olan UICollectionView cihazım var. Ve UICollectionView'ın boyutuna göre boyutlarını ayarlamasını istiyorum (UICollectionView bir ya da iki hücre olduğunda UICollectionView çok kısasa, çok sayıda UICollectionView hücresi varsa yeterince büyükse). İçerik boyutuna ayarlamak için UICollectionView yüksekliğini otomatikleştirme

ben içerik boyutunu almak için biliyorum:

collectionView.collectionViewLayout.collectionViewContentSize

Ama nerede bu değeri kullanmak için hiçbir fikrim yok. Birisi bana UICollectionView'un yüksekliğini otomatik olarak nasıl ayarlayacağını anlatabilmem için bana yardımcı olur.

UPD: Ben GitHub'dan sorunu açıklayan bir demo proje yayınlanan : https://github.com/avokin/PostViewer

cevap

6

ben içerik boyutu ne sonra konum olduğunu düşünmüyorum. Bence, koleksiyon görünümü tarafından tüketilen ekran emlak miktarını ayarlamak istiyorsun, değil mi? Bu, çerçevenin ayarlanmasını gerektirecek. İçerik boyutu, ekran görüntüsünün yanı sıra ekran dışı (kaydırma) alanını da içerir. Sadece anında kare boyutunu değiştirmenizi engelleyecek bir şey bilmiyorum

:

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

seni doğru anlama olsam.

+1

Bunun gibi bir kod var: 'cell.tagsCollection.frame = CGRectMake (frame.origin.x, frame.origin.y, size.width, size.height);'. Ama collectionView.frame yüksekliğini ve genişliğini kaydırmadan önce 0 ve iOS bu özniteliklerimdeki değişikliklerimi yoksayar – AVokin

+0

Hücre yüksekliği atlama içeriği nasıl oluşturulur? –

0

Adımlar UICollectionView çerçevesini değiştirmek için: (Eğer autoLayout kullanıyorsanız)

  1. collectioview en Superview için EVET "translatesAutoresizingMaskIntoConstraints" mülkiyet Set

  2. Ardından güncellemek bu yanıta bakın collectioview en çerçeve olarak:

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