Computer >> 컴퓨터 >  >> 프로그램 작성 >> IOS

Swift에서 UICollectionView를 사용하는 방법은 무엇입니까?


swift에서 컬렉션 보기를 사용하려면 먼저 컬렉션 ​​보기를 만들어야 합니다. 스토리보드에 끌어다 놓거나 프로그래밍 방식으로 만들 수 있습니다. 그런 다음 UICollectionViewDataSource 및 UICollectionViewDelegate에 대한 클래스를 확인해야 합니다. 또한 사용자 정의 셀 크기와 레이아웃이 필요한 경우 UICollectionViewDelegateFlowLayout에 확인해야 합니다.

프로그래밍 방식으로 컬렉션 보기를 만드는 데 필요한 단계를 살펴보겠습니다.

func initCollection() {
   let layout = UICollectionViewFlowLayout()
   layout.itemSize = CGSize(width: 50, height: 50)
   let collection = UICollectionView.init(frame: self.view.frame, collectionViewLayout: layout)
   collection.dataSource = self
   collection.delegate = self
   collection.backgroundColor = colorLiteral(red: 0.3411764801, green: 0.6235294342, blue: 0.1686274558, alpha: 1)
   collection.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "cell")
   self.view.addSubview(collection)
}

ViewDidLoad() 메서드에서 위의 함수를 호출해야 합니다. 프로그래밍 방식으로 컬렉션을 생성하든 스토리보드를 사용하든 상관없이 데이터 소스를 할당하고 데이터를 테이블에 제공하도록 위임하고 각각의 작업을 관찰해야 합니다.

이제 컬렉션에 얼마나 많은 섹션이 있어야 하는지 알려야 합니다. −

func numberOfSections(in collectionView: UICollectionView) -> Int {
   return 1
}

그런 다음에는 얼마나 많은 항목이 있고 셀에 어떤 데이터가 있어야 하는지 알려야 합니다.

func collectionView(_ collection: UICollectionView, numberOfItemsInSection section: Int) -> Int {
   return 7
}
func collectionView(_ collection: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
   let cell = collection.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath)
   cell.layer.backgroundColor = colorLiteral(red: 0.4392156899, green: 0.01176470611, blue: 0.1921568662, alpha: 1)
   return cell
}

선택적으로 요구 사항에 따라 다른 크기를 줄 수 있습니다.

func collectionView(_ collection: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
   let size = CGSize(width: 200, height: 50)
   return size
}

기기에서 위의 코드를 실행하면 이것이 생성되는 결과입니다.

Swift에서 UICollectionView를 사용하는 방법은 무엇입니까?