Koleksiyonumda bazı ciddi sorunlar yaşıyorum. Bu yüzden uyumsuz duruma getiriyorum. bir api'den bazı veriler ve veri değişkeni ayarladım, koleksiyonumu yeniden yüklediğimde. Koleksiyonumda temel olarak, api'den veriye sahip bazı hücreler ve bir artı simgeli ekstra bir hücre var. Hücre şekli ve düzeni aynıdır, bu yüzden her ikisi için de aynı collectionviewcell sınıfını kullandım.UICollectionView ImageView Sorunları
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return data.count + 1
}
Ve böyle cep şeyler:
böyle öğelerin benim sayısını hesaplamak
class OverviewUserCell: UICollectionViewCell {
@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var userImageView: UIImageView!
override func layoutSubviews() {
super.layoutSubviews()
self.makeItCircle()
}
func makeItCircle() {
self.userImageView.layer.masksToBounds = true
self.userImageView.layer.cornerRadius = CGFloat(roundf(Float(self.userImageView.frame.size.height/2.0)))
}
}
:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! OverviewUserCell
if(indexPath.row == data.count) {
cell.userImageView.image = UIImage(named: "plus")!
//some additional coloring and stuff
} else {
cell.userImageView.image = UIImage(named: "oma")!
//some additional coloring and stuff
}
cell.contentView.frame = cell.bounds
cell.contentView.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight]
cell.layer.cornerRadius = 8
return cell
}
Benim hücre kendisi yuvarlak görüntü ve Etiket içerir
Her nasılsa (belki de farklı görüntü boyutları nedeniyle), görüntü görünümünün çerçevesi değişir veya böyle bir şey, b çünkü artı görüntü yuvarlak değil, aynı kalmasını istiyorum. Hücredeki her öğeye kısıtlamalar ekledim. Verileri yüklemezsem, görüntü mükemmel bir şekilde yuvarlak olur, ancak veriler yüklendiğinde ve koleksiyon görünümü yeniden yüklendiğinde, artı görüntü artık yuvarlak değildir.
Resimler aynı boyutta ve aynı konumda olmalıdır.
'clipsToBounds = true' öğesini' makeItCircle' işlevine eklemeye çalışın – kye
Bu işe yaramıyor. Kye – Tobias
'CGFloat (roundf (Float (self.userImageView.frame.size.height/2.0)))' senin sorunun olabilir. "CGFloat" 'a yuvarlanmaya veya dönüştürmeye gerek yoktur. Frame.size.width/2' ve 'clipToBounds' – kye