흔히 sns에서 볼수 있는 뷰처럼 계정의 아이콘, 사용자이름,
포스팅 된 사진을 구현해보려고 하였다.
Assets의 이미지들을 가져오고, 해당 cell이
reuse 될수 있게 준비과정을 해줬다.
import UIKit
class ResultCell: UICollectionViewCell {
@IBOutlet weak var thumbnailImageView: UIImageView!
// cell 이 재사용되기전 준비함
override func prepareForReuse() {
super.prepareForReuse()
// 재사용될때 이미지 리셋
thumbnailImageView.image = nil
}
func configure(_ imageName: String){
thumbnailImageView.image = UIImage(named: imageName)
}
}
viewController 에서 보여줄 아이템들의 사이즈는
내가 직접 정해줄 것이기 때문에 시스템이 멋대로 추정하면
안되었다. 따라서 아래와 같이 메소드를 적어주었다.
class NewsFeedViewController: UIViewController, UICollectionViewDelegate {
@IBOutlet weak var collectionView: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
collectionView.dataSource = self
collectionView.delegate = self
// 직접 size를 정해줄거기 때문에 시스템이 알아서 추정하지 말라는 메소드
if let flowlayout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout{
flowlayout.estimatedItemSize = .zero
}
}