【发布时间】:2018-09-30 05:30:32
【问题描述】:
我的 UITableViewController 有 1 个部分和标题,里面有 UISegmentedControl。
If user presses first segment we should display UITableView cells
可能的解决方案:
将 UITableViewController 更改为 UICollectionViewController,将 UITableViewCells 更改为 UICollectionViewCells。这应该可行,但我试图避免这种解决方案
-
UICollectionView 嵌入在 UITableViewCell 中。将 UICollectionView 滚动启用设置为 false,调整 UITableViewCell 的高度以适应整个 UICollectionView 的 contentSize.height。在容器 (UITableViewCell) 的 systemLayoutSizeFitting(...) 方法中,我们在容器和包含的 UICollectionView 上调用 layoutIfNeeded 并返回 UICollectionView 的 contentSize。
问题:
如果我们有数百个项目(每个项目的 cellForItemAtIndexPath),则(重新)计算整个 UICollectionView contentSize 需要大量工作。想以某种方式避免这种情况。也许我们可以在滚动嵌入其中的 UICollectionView 时增加容器(UITableViewCell)的高度。
-
与 2 相同,但我们有固定大小的容器 UITableViewCell(与没有标题的视图相同的高度),里面有 UICollectionView。当我们将 UITableView 滚动到最底部时,UICollectionView 滚动应该会继续滚动。
问题:
我不明白如何处理两个 UIScrollView 的 scrollingEnabled = true 实例。我认为这可以通过平移手势识别器代表来解决。如果是这样,我需要帮助。
【问题讨论】:
标签: ios swift uitableview uicollectionview uikit