【发布时间】:2016-05-24 18:45:39
【问题描述】:
问题:在 UICollectionViewCell 中重新加载缓存的 UIImageView(在滚动时或在 UICollectionViewController 之间切换)没有保留正确的 contentMode。
我尝试在 UIImageView 上使用 .sizeToFit() 并在每次加载时重置 .contentMode = UIViewContentMode.ScaleAspectFit,但这没有帮助。
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> MyCollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("myCell", forIndexPath: indexPath) as! MyCollectionViewCell
if ( indexPath.item < self.the_array?.count ){
if ( images_cache[self.the_array![indexPath.item].src!] != nil ){
// calling this here doesn't work
cell.myImage.contentMode = UIViewContentMode.ScaleAspectFit
// calling this here doesn't work either
cell.myImage.sizeToFit()
cell.myImage.image = images_cache[self.the_array![indexPath.item].src!]! as UIImage
}
else{
if let url = NSURL(string: "https:" + (self.the_array![indexPath.item].src)!), data = NSData(contentsOfURL: url) {
let the_image = UIImage( data: data )
cell.myImage.image = the_image
images_cache[self.the_array![indexPath.item].src!] = the_image!
}
}
}
return cell
}
【问题讨论】:
标签: swift uiimageview uicollectionview uicollectionviewcell