使用UICollectionView的主要方法是通过编程方式管理逻辑。
首先,创建一个继承自的新类
UICollectionViewCell
。选择是否要包含xib来轻松设计单元格:使用Interface Builder或以编程方式设计单元。
创建包含xib(或情节提要)的主视图控制器,并在其中包含 集合视图 ,然后通过Interface Builder将其链接到关联的类。或者,您可以通过编程方式将收藏夹视图添加到您的
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 }
- 实现
UICollectionViewDelegate
和UICollectionViewDataSource
协议中声明的方法:
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 classcell.title.text = self.objects[indexPath.item]return cell }
- 在模拟器(或真实设备)上运行您的应用,然后..等等!:)
有关更多信息:https :
//developer.apple.com/reference/uikit/uicollectionview
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)