2016-03-22 39 views
1

statik bir hücreyi ekleme. İlk hücrenin, bir oluşturma akışına (sonunda yeni bir hücre ekleyerek) karşı koyma istemi olarak hizmet eden statik bir hücre olmasını istiyorum.Ben bir diziden hücreleri görüntüleyen bir UICollectionView sahip bir UICollectionView

Benim yaklaşımım benim CollectionView'ın iki bölümü eklemek olurdu, ama ben şu anda bunu yapmak durumunda cellForItemAtIndexPath içindeki bir hücreyi dönmek anlamaya olamaz.

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
    if indexPath.section == 0 { 
     let firstCell = collectionView.dequeueReusableCellWithReuseIdentifier("createCell", forIndexPath: indexPath) as! CreateCollectionViewCell 
     firstCell.imageView.backgroundColor = UIColor(white: 0, alpha: 1) 
     return firstCell 
    } else if indexPath.section == 1 { 
     let cell = collectionView.dequeueReusableCellWithReuseIdentifier("mainCell", forIndexPath: indexPath) as! MainCollectionViewCell 
     cell.imageView?.image = self.imageArray[indexPath.row] 
     return cell 
    } 
} 

bu sorun ben işlevi sonunda bir hücreyi dönmek zorunda olmasıdır: Bu benim girişimidir. Bir koşulun bir parçası olarak iade edilmeyecek gibi görünüyor. Yardım için teşekkürler!

Dan comment gerekçe olarak
+0

Sadece geçen blok yerine ben birkaç fark benzer bir şey elde etmek çalışıyorum 1 – dan

+0

bölümdür kontrol etmek amacıyla düzenli başka blok yapmak. Statik hücrenin sonunda olmasını istiyorum ve bazı metni görüntülemek için Bölüm üstbilgisini kullanıyorum. Statik hücre için ayrı bir bölüm kullanırsanız, kendi satırında görünmez ve diğer hücreler (farklı bölümdeki) bunun altında görünmez mi? – Annjawn

cevap

1

, fonksiyon UICollectionViewCell bir örneğini dönmelidir. Şu anda derleyici indexPath.section'un ne 0 ne de 1 olduğu bir kod yolu görebilir. Bu durumda kodunuz hiçbir şey döndürmez. Bu, uygulamanızda hiçbir zaman mantıksal olarak gerçekleşmeyecek bir durum değil.

bunu düzeltmek için en kolay yolu sadece "Başka" den "eğer başka" değiştirmektir. olduğu gibi: Şimdi orada sadece iki kod yolları vardır ve derleyici mutlu olacak, böylece hem bir hücreyi dönerseniz

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
    if indexPath.section == 0 { 
     let firstCell = collectionView.dequeueReusableCellWithReuseIdentifier("createCell", forIndexPath: indexPath) as! CreateCollectionViewCell 
     firstCell.imageView.backgroundColor = UIColor(white: 0, alpha: 1) 
     return firstCell 
    } else { // This means indexPath.section == 1 
     let cell = collectionView.dequeueReusableCellWithReuseIdentifier("mainCell", forIndexPath: indexPath) as! MainCollectionViewCell 
     cell.imageView?.image = self.imageArray[indexPath.row] 
     return cell 
    } 
} 

.