Programlı olarak (storyboard yok) çalışıyorum ve layout.itemSize farklı ekran boyutları için dinamik yapmada sorun yaşıyorum. Bu hata mesajını alıyorum:UICollectionViewFlowLayout öğesi nasıl boyutlandırılır? Ekran boyutu için dinamik boyut
benim uygulama dosyasında aşağıdaki kodu ile
"UICollectionView olmayan bir nil düzen parametresi ile başlatılmak zorundadır":
- (instancetype)init
{
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
CGSize size = self.collectionView.bounds.size;
layout.itemSize = CGSizeMake(size.width, size.height);
[layout setScrollDirection:UICollectionViewScrollDirectionVertical];
layout.minimumLineSpacing = 100.0;
layout.headerReferenceSize = CGSizeMake(0.0, 50.0);
return (self = [super initWithCollectionViewLayout:layout]);
}
I don' layout.itemSize
için "100,100" kullanırsam hata mesajını al. Dinamik hale getirmenin bir yolu var mı?
Yeni Nesil-C için yeni yapıyorum, yanlış yaptığım şeylerle ilgili her türlü yardımı takdir ediyorum.
- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout *)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
CGSize cellSize = CGSizeMake(width, height);
return cellSize;
}
İstediğinizi için genişlik ve yükseklik float değerleri belirtin: