gpt4 book ai didi

ios - 创建水平滚动菜单

转载 作者:行者123 更新时间:2023-11-30 12:08:24 24 4
gpt4 key购买 nike

我正在尝试创建一个菜单,其中顶部水平 ScrollView 包含菜单类别。当我点击某一菜单类别时,就会出现与该类别相关的广告。

选择第一个时

--**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 中。

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

但我从未在单个 UITableViewCell 中使用过两个 UICollectionView。所以我问这对于这种类型的需求来说是正确的方法还是我应该以其他方式来做。

最佳答案

您可以子类化UITableViewCell,添加UICollectionView作为 subview ,符合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
}
}

关于ios - 创建水平滚动菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46394157/

24 4 0