2017-09-24 109 views
0

我想創建一個頂部水平滾動視圖包含菜單類別的菜單。當我點擊其中一個菜單類別時,會出現與該類別相關的廣告。創建一個水平滾動菜單

當選擇首先

--**First**---|--Second--|---Third--|--Fourth--| (scrolling categories) 
------------------------------------------------------------------ 
\\\FirstA\\\ \\\FirstB\\\ \\\FirstC\\\  \\\FirstD\\\ 
\\\FirstA\\\ \\\FirstB\\\ \\\FirstC\\\  \\\FirstD\\\ 
------------------------------------------------------------------ 

如果將第二選擇

--First---|--**Second**--|---Third--|--Fourth--| (scrolling categories) 
------------------------------------------------------------------ 
\\\SecondA\\\ \\\SecondB\\\ \\\SecondC\\\  \\\SecondD\\\ 
\\\SecondA\\\ \\\SecondB\\\ \\\SecondC\\\  \\\SecondD\\\ 
------------------------------------------------------------------ 

當我在第一類中,相關的數據挖掘,首先是作爲一個的CollectionView。同樣,當我點擊第二個類別時,與第二個相關的數據進入UICollectionView。

現在我正在考慮在具有兩個UICollectionViews的UITableViewCell中執行此操作。第一個UICollectionView將包含類別,第二個UICollectionView將包含與類別相關的數據。

但我從來沒有在單個UITableViewCell中使用兩個UICollectionViews。 所以我問的是這種需求的正確方法,還是應該以其他方式來實現。

+0

檢查了這一點:https://stackoverflow.com/questions/28750108/multiple-collectionview-in-a-uiviewcontroller-ios-swift –

+0

嗯,我想使用一個單一的UITableViewCell兩個收集意見不是一個UIViewController –

+0

也許嘗試子類的UITableViewCell,並使其符合UICollectionViewController協議? –

回答

0

你可以繼承的UITableViewCell,添加UICollectionView作爲子視圖,UICollectionViewDataSourceUICollectionViewDelegate

下面是使用廈門國際銀行

示例代碼符合
class CollectionViewTVC: UITableViewCell { 
    @IBOutlet weak var collectionView: UICollectionView! 
} 

extension CollectionViewTVC: UICollectionViewDataSource { 
    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     // return items 
    } 

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
     // return cell 
    } 

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize { 
     // return size 
    } 
} 

extension CollectionViewTVC: UICollectionViewDelegate { 
    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 
     // select cell action 
    } 
} 
0

你爲什麼不使用兩個表格視圖單元,一個爲每collectionViewu ?

+0

好了,最終我已經使用了兩個tableviewcells,只是想知道它是否可以在一個tableviewcell中完成 –

+0

我認爲這不是最好的方法,但是你可以在xib中添加兩個CollectionView,一個在另一個下面,使兩個自定義類符合委託和數據源。將兩個collectionViews連接到單元格中的出口,並立即將他們的數據源和代理(您之前製作的那些)連接起來,您還可以創建一個額外的數據源和委託,併爲第二個collectionView符合該單元格,但我認爲第一個解決方案是小清潔工 – zvone