滚动前未加载Collectionviewcell图像

时间:2019-01-20 21:10:17

标签: ios xcode rx-swift collectionview

您好,创建了没有情节提要的UICollectionView,我使用RxSwift进行数据绑定。

我在单元格上显示图像,但滚动之前没有显示。

   func first(_ image : String) {

    self.addSubview(firstView)
    firstView.snp.makeConstraints { (make) in
        make.right.equalToSuperview()
        make.left.equalToSuperview()
        make.top.equalToSuperview()
        make.height.equalTo(3 * self.bounds.height / 4)
    }
    firstView.layer.masksToBounds = true
    imageView.image = UIImage(named: "kitaplar")
    imageView.frame = CGRect(x: 0, y: 0, width: firstView.frame.width, height: firstView.frame.height)
    firstView.addSubview(imageView)
}

我的viewcontroller代码是

    self.kategoriArray
        .throttle(1, scheduler: MainScheduler.instance)
        .debug("arraItem", trimOutput: false)
        .bind(to: kategoriColl.rx.items(cellIdentifier: "kategoriCell", cellType: KategoriCollectionViewCell.self)){(index,model,cell) in

            cell.first("https://www.gravatar.com/avatar/d2bba3700fd3a3e8cc12888edd980525?s=23&d=identicon&r=PG")
                cell.second(model.title as! String)

        }.disposed(by: disposeBag)

1 个答案:

答案 0 :(得分:1)

我想问题出在这里

imageView.frame = CGRect(x: 0, y: 0, width: firstView.frame.width, height: firstView.frame.height) 

由于firstView的框架可能尚未正确知道,因此建议您向imageView

添加约束

如果imageView与其父框架(firstView)具有相同的帧,那么您也可以删除该firstView并将其直接添加到

self.contentView.addSubview(imageView)

我也看不到远程映像的任何加载,因此请考虑使用SDWebImage

imageView.sd_setImage(with: URL(string:image), placeholderImage: UIImage(named: "kitaplar"))