[Swift5] 간단한 Xib 사용법

개시하다


첫 투고니까 봐주세요.
이번에는 Xib로 셀을 만들어서 간단한 출력을 해보고 싶어요.(CollectionView 사용)
프로젝트 제작 후의 설명이기 때문에 코드만 보고 싶으신 분들은 마지막으로...

이번 목표(이미지)


이번 제작의 인상은 이렇다.
뭐, 스토리보드에서 셀을 제작하는 것과 Xib로 셀을 제작할 때의 출력은 같다.

그럼 실제로 해.

실제로 해 보다


Xib 파일 생성하기


먼저 New File을 사용하여 CollectionViewCell을 만듭니다.

"Cocoa Touch Class"선택

여기서 "Also create Xib flie"를 선택하여 Xib 파일을 작성합니다.
(Cell 파일이 이미 있는 경우 New Flie 선택→View 선택으로 Xib 파일을 생성할 수 있음)

만들어진 Xib 파일을 보면 이렇게 된 느낌이에요.

Xib 설정


먼저 Xib 파일의 셀의 identifier를 "cell"으로 설정합니다.

이어 Xib 파일의 셀 섹션에 레이블을 추가하고 AutoLayout을 추가합니다.

그런 다음 함께 만든 CollectioViewCell입니다.swift에서 Label을 링크합니다.

storyboard 설정


Main.storyboard에서 ViewController에 CollectionView를 구성하고 AutoLayout을 마운트합니다.
이때 CloectionView에 CollectionViewCell이 있습니다. 이번에는 Xib을 사용해야 하기 때문에 삭제하십시오.

그런 다음 ViewController에서 CollectionView를 사용합니다.swift에 연결합니다.

또 이번 UICollection ViewLayout은 레이아웃 디자인을 하지 않기 때문에 셀의 사이즈를 직접 적었다.
(item Size:width→414,height→70)

지금부터 준비해.

실제 코드


실제로는 코드를 쓸 줄 안다.(최저)
ViewController.swift
class ViewController: UIViewController {
    @IBOutlet weak var collectionView: UICollectionView!

    let array = ["hoge", "ほげほげ", "Hello!"]

    override func viewDidLoad() {
        super.viewDidLoad()

        collectionView.dataSource = self

        let nib = UINib(nibName: "CollectionViewCell", bundle: nil)
        self.collectionView.register(nib, forCellWithReuseIdentifier: "cell")

    }
}

extension ViewController: UICollectionViewDataSource {
    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return self.array.count
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CollectionViewCell

        cell.label.text = array[indexPath.row]
        return cell
    }
}
두 행에서 Xib을 collectionView에 로그인합니다.
  • nibName:CollectionViewCell 파일의 이름
  • f orCell WithReuseIdentifier: Xib 파일에 있는 Cell의 identifier를 통해 설정된 이름
  • ViewController.swift
    let nib = UINib(nibName: "CollectionViewCell", bundle: nil)
    self.collectionView.register(nib, forCellWithReuseIdentifier: "cell")
    
    이상은 간단한 Xib 사용법입니다.
    나 자신도 공부하고 있으니 착오가 있을 수 있다
    감사합니다.

    좋은 웹페이지 즐겨찾기