swift 快速奔跑的兔几 本节的内容是:集合视图

前端之家收集整理的这篇文章主要介绍了swift 快速奔跑的兔几 本节的内容是:集合视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

集合视图是一种用于显示对象集合的工具。iOS和OS X上面都有集合视图,但是iOS上的实现要更好一些。下面就要说一说iOS下的UICollectionView。
利用UICollectionView,可以采用某种方式来呈现一组项目,不需要每个项目知道它是如何确定位置或者如何布局的。UICollectionView的行为方式与UITableView非常类似,但它并不是直接采用垂直列表的形式来设定内容布局,而是支持一种可以自定义的布局处理器,名为布局对象。
UICollectionView类利用了数据源和委托。UICollectionView显示一组UICollectionViewCell对象,他们是UIView的子类,知道如何在集合视图中进行布局。通常,我们会创建这些单元格的子类,并用内容填充它们。
下面是代码的栗子,可以得到一个可以向下滚动的数字网格(记得在故事板内设置字体颜色为白色喔):

  1. import UIKit
  2.  
  3. class GridCollectionViewCell: UICollectionViewCell {
  4. @IBOutlet weak var label: UILabel!
  5. }
  1. import UIKit
  2.  
  3. private let reuseIdentifier = "Cell"
  4.  
  5. class GridCollectionViewController: UICollectionViewController {
  6. var numbers : [Int] = []
  7. override func viewDidLoad() {
  8. super.viewDidLoad()
  9. for i in 1...200{
  10. numbers.append(i)
  11. }
  12. }
  13.  
  14. override func didReceiveMemoryWarning() {
  15. super.didReceiveMemoryWarning()
  16. // Dispose of any resources that can be recreated.
  17. }
  18.  
  19. override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
  20. // #warning Incomplete implementation,return the number of sections
  21. return 1
  22. }
  23.  
  24.  
  25. override func collectionView(collectionView: UICollectionView,numberOfItemsInSection section: Int) -> Int {
  26. // #warning Incomplete implementation,return the number of items
  27. return self.numbers.count
  28. }
  29.  
  30. override func collectionView(collectionView: UICollectionView,cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
  31. let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier,forIndexPath: indexPath)
  32.  
  33. if let gridCell = cell as? GridCollectionViewCell{
  34. gridCell.label.text = String(self.numbers[indexPath.row])
  35. }
  36.  
  37. return cell
  38. }
  39.  
  40.  
  41.  
  42. }

猜你在找的Swift相关文章