2017-09-24 115 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