CollectionView를 공부하다가 xib 파일로 셀을 만드는 것을 보고 정확한 공부를 위해 글을 끄적여봅니다.
xib, nib의 차이점은 다음에 알아보는 것으로 하고, Xcode에 만들어지는 파일은 xib 파일이지만 다들 nib이라고 하더군요.
닙닙닙닙닙닙닙닙닙
닙 파일 만드는 방법을 글로 끄적여본다면..
- Cocoa Touch Class 파일로, 서브클래스는 테이블셀 or 컬렉션뷰셀, 그리고 'Also create XIB file' 을 클릭해서 생성합니다.
- xib 파일에 스토리보드처럼 셀을 커스텀합니다.
- swift 파일에서 @IBOutlet 으로 연결해줍니다.
- xib 파일에서 셀의 'identifier'을 지정해줍니다.
이렇게 xib 파일을 만들 수 있습니다.
만든 셀을 연결 시켜주는 방법은 뷰컨트롤러 파일에서 viewDidLoad()에 등록하면 됩니다.
collectionView.register(MyCollectionViewCell.nib(), forCellWithReuseIdentifier: MyCollectionViewCell.identifier)
제가 한 방법은 nib의 이름을 nib() 함수로 주었는데.. iOS Academy 분이 좋은 습관이라고해서 한번 따라해 보았습니다.
nib 함수의 원형은 아래에서 보겠습니다.
간단하게 이미지뷰 하나만 넣어서 컬렉션뷰 셀을 만들었습니다.
MyCollectionViewCell.swift
import UIKit
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 {
return UINib(nibName: "MyCollectionViewCell", bundle: nil)
}
}
참고영상
'iOS > STUDY' 카테고리의 다른 글
[WWDC 2021] Discoverable design (0) | 2021.06.11 |
---|---|
[iOS] UICollectionView (0) | 2021.05.22 |
[iOS] 동시성 프로그래밍 (0) | 2021.05.11 |
[iOS] Photos (0) | 2021.04.30 |
[iOS] scrollview autolayout (0) | 2021.03.31 |