【发布时间】:2021-11-15 00:11:19
【问题描述】:
所以我有 UITableView -> UITableViewCell 并且在我的 UITableViewCell 中有 UICollectionView。它包含菜肴 在顶部,我还有带有水平滚动的 CollectionView 单元格。它包含类别
我想在滚动菜肴时移动类别。我尝试在 UITableViewCell 类(包含 collectionView)中捕获滚动事件
extension ProductCollectionViewCell:UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, UIScrollViewDelegate{
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
startScroll()
}
func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
startScroll()
}
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
startScroll()
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView == productsCollectionView && productsModel.count != 0 {
startScroll()
}
}
}
但是这个事件没有被捕获=( 没有调用。它只用 UiTableView 调用 Controller。我该怎么做?
【问题讨论】:
-
为什么单元格是滚动视图委托?
-
我认为它应该有所帮助
-
它不能作为单元格重复使用,并且每次将滚动视图委托设置为不同的单元格。
-
那么,我如何理解 UITableViewCell 内部的集合视图的显示部分?
-
滚动代理应该在一个始终可见的控制器中。我认为它是带有表格视图的。滚动委托方法必须使用事件来自的滚动视图进行测试。
标签: ios swift uitableview uicollectionview