搜尋

首頁  >  問答  >  主體

ios - 一个页面中有个两个 UICollectionView ,那么应当如何使用Delegate与DataSource呢

例如:

@IBOutlet weak var Collection01: UICollectionView!
@IBOutlet weak var Collection02: UICollectionView!

那么如何分别为他们定义Delegate与DataSource的方法呢,例如下面这个返回单元格数量的方法

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return 2
}

高洛峰高洛峰2772 天前608

全部回覆(3)我來回復

  • PHP中文网

    PHP中文网2017-04-17 18:00:20

    透過Extension用兩個類別去做Delegate和DataSource,也可以給個Tag判斷

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-17 18:00:20

    專門寫兩個類別用來做dataSource,其實把datasource從controller拿出來好處多多。 。 。

    回覆
    0
  • 迷茫

    迷茫2017-04-17 18:00:20

    @Taku 前半句是正確的解決方案。不過後半句的 Tag 判斷並不好,效率低。
    我說個簡單的實作:

    func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        if collectionView == Collection01 {
            return 1
        } else if collectionView == Collection02 {
            return 2
        }
        return 0
    }

    PS:變數名稱頭字母應當小寫。

    回覆
    0
  • 取消回覆