2013-01-07 14 views
6

Bir UICollectionView kullanarak çok basit bir uygulama örneği oluşturdum (github Kaynak kodu).Neden AutoLayout UICollectionView'umla ilgilenmiyor

Uygulama dikey modda olduğu sürece her şey iyi çalışıyor. Ancak manzara moduna ayarlandığında, içerik hücresi uygun şekilde yeniden boyutlandırılmaz ve bu nedenle hiçbir şey gösterilmez.

Gerekli tüm AutoLayout kısıtlamalarının geçerli olduğunu düşündüm. collectionView:layout:sizeForItemAtIndexPath:'u uygulayabileceğimin farkındayım, ancak amacım AutoLayout'u mümkün olduğunca kullanmaktır (sadece AutoLayout'u daha iyi anlamak için).

Burada nelerin eksik?

cevap

9

Koleksiyon görünümünün konumunu ve boyutunu ayarlamak için otomatik kaydırmayı kullanabilirsiniz. Ayrıca, her hücrenin içindeki alt görüntülemelerin konumunu ve boyutunu ayarlamak için otomatik yayınlamayı kullanabilirsiniz. Ancak, hücrelerin konumunu ve boyutunu kontrol etmek için autolayout'u kullanamazsınız. Her koleksiyon görünümü hücresinin konumunu ve boyutunu ayarlamak için koleksiyon görünümünün düzen nesnesini kullanmalısınız. Arayüz yönlendirmesi değiştiğinde hücrelerin boyutunu değiştirmesini isterseniz, yeni boyutu bildirmek ve düzeni geçersiz kılmak için düzen nesnesini güncellemeniz gerekir.

+2

iOS 8'den itibaren, hücrelerin boyutunu kendileri yapmak mümkündür. Düzen, uygun olduğunda hücrenizin bir örneğini oluşturacak ve autolayout sınırlamalarını kullanabilecek veya sizeThatFits: değerini geçersiz kılabilirsiniz. Düzenin tahmini ItemSize özellik kümesi olmalıdır. – fatuhoku

İlgili konular