创建一个水平滚动菜单
我想创建一个顶部水平滚动视图包含菜单类别的菜单。当我点击其中一个菜单类别时,会出现与该类别相关的广告。创建一个水平滚动菜单
当选择首先
--**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。 所以我问的是这种需求的正确方法,还是应该以其他方式来实现。
你可以继承的UITableViewCell
,添加UICollectionView
作为子视图,UICollectionViewDataSource
和UICollectionViewDelegate
下面是使用厦门国际银行
示例代码符合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
}
}
你为什么不使用两个表格视图单元,一个为每collectionViewu ?
好了,最终我已经使用了两个tableviewcells,只是想知道它是否可以在一个tableviewcell中完成 –
我认为这不是最好的方法,但是你可以在xib中添加两个CollectionView,一个在另一个下面,使两个自定义类符合委托和数据源。将两个collectionViews连接到单元格中的出口,并立即将他们的数据源和代理(您之前制作的那些)连接起来,您还可以创建一个额外的数据源和委托,并为第二个collectionView符合该单元格,但我认为第一个解决方案是小清洁工 – zvone
检查了这一点:https://*.com/questions/28750108/multiple-collectionview-in-a-uiviewcontroller-ios-swift –
嗯,我想使用一个单一的UITableViewCell两个收集意见不是一个UIViewController –
也许尝试子类的UITableViewCell,并使其符合UICollectionViewController协议? –