개발 관련/IOS_SwiftUI
collectionView, collectionViewCell을 이용한 이미지 그리드 만들기
snowballing
2022. 7. 12. 12:53
flow
1.
콜렌션뷰에 @IBOutlet 을 연결시키고
dataSource, delegate, delegateFlowLayout을 extension 한다.
*여기에서 데이터 소스는 뭐고 델리게이트는 뭐냐면,
dataSource 콜렉션뷰를 만들때 들어갈 리소스들을 의미(약간 총알같은 거) -> 필수
delegate 정보를 제공할 수있고 셀을 강조하거나 선택할 수 있다. 또 확장해서 레이아웃을 설정할 수 있다. -> 선택
2.
애셋에 이미지를 올린다.
3.
collectionViewCell.swift + nib을 만든다.
4.
MyCollectionViewCell.swift > imageView를 연결
class MyCollectionViewCell: UICollectionViewCell {
@IBOutlet var imageView: UIImageView!
static let identifier = "MyCollectionViewCell" //식별자를 선언해줬다 !
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
public func configure(with image: UIImage){ //이미지뷰의 이미지 !!!
imageView.image = image
}
static func nib() -> UINib { //nib파일 연결시켜줬다
return UINib(nibName: "MyCollectionViewCell", bundle: nil)
}
with 키워드는 외부 매개변수를 가르키는 식별자를 가르키는 기능을 한다.
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
collectionView.deselectItem(at: indexPath, animated: true)