我正在这样做,我想使用CollectionView,但我还没有看到原型单元,也不知道在这种情况下如何使用CollectionView,有人可以帮助我吗?
我尝试以这种方式使用,但是比UICollectionView要花很多时间并且很难管理
使用UICollectionView的主要方法是通过编程方式管理逻辑。
首先,创建一个继承自的新类UICollectionViewCell。选择是否要包含xib来轻松设计单元格:
UICollectionViewCell
使用Interface Builder或以编程方式设计单元。
创建包含xib(或情节提要)的主视图控制器,并在其中包含 集合视图 ,然后通过Interface Builder将其链接到关联的类。或者,您可以通过编程方式将收藏夹视图添加到您的UIViewController
UIViewController
UICollectionViewDelegate
UICollectionViewDataSource
class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource { @IBOutlet weak var collectionView: UICollectionView! //... }
viewDidLoad
let cellIdentifier = "cellIdentifier" override func viewDidLoad() { super.viewDidLoad() //if you use xibs: self.collectionView.register(UINib(nibName:"MyCollectionCell", bundle: nil), forCellWithReuseIdentifier: cellIdentifier) //or if you use class: self.collectionView.register(MyCollectionCell.self, forCellWithReuseIdentifier: cellIdentifier) self.collectionView.delegate = self self.collectionView.dataSource = self }
let objects = ["Cat", "Dog", "Fish"] func numberOfSections(in collectionView: UICollectionView) -> Int { return 1 } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return self.objects.count } func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellIdentifier, for: indexPath) as! MyCollectionCell //in this example I added a label named "title" into the MyCollectionCell class cell.title.text = self.objects[indexPath.item] return cell }
有关更多信息:https : //developer.apple.com/reference/uikit/uicollectionview