创建水平滚动菜单

时间:2017-09-24 19:45:02

标签: ios objective-c swift xcode uitableview

我正在尝试创建一个菜单,其中顶部水平滚动视图包含菜单类别。当我点按其中一个菜单类别时,系统会显示与该类别相关的广告。

选择第一个时

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

选择秒时

{{1}}

当我点击First Category时,与first相关的数据将作为collectionView出现。类似地,当我点击第二个类别时,与第二个相关的数据进入UICollectionView。

现在我正在考虑在带有两个UICollectionViews的UITableViewCell中进行此操作。第一个UICollectionView将包含类别,第二个UICollectionView将包含与类别相关的数据。

但我从未在单个UITableViewCell中使用过两个UICollectionView。 所以我要问的是这种要求的正确方法还是应该以其他方式进行。

2 个答案:

答案 0 :(得分:0)

您可以继承UITableViewCell,将UICollectionView添加为子视图,符合UICollectionViewDataSourceUICollectionViewDelegate

这里使用xib的示例代码

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
    }
}

答案 1 :(得分:0)

为什么不使用两个表格视图单元格,每个集合查看一次?