10

集合视图由单行水平对齐的单元格组成,其大小与集合视图的边界大小相同,单个单元格填充整个屏幕。

问题是集合视图似乎拦截了所有的平底锅。如何将它们转发到表格,以便我也可以垂直滚动表格。

我希望将垂直平移传送到单元格内的表格,以便它可以上下滚动。我希望将水平平移传送到集合视图,以便它可以水平滚动。

有任何想法吗?谢谢。

4

3 回答 3

16

对于使用 storyBoard 的 CollectionView 中的 UITableView,请按照以下步骤操作:

- 将 CollectionView 拖到 UIViewController,将数据源拖到 UIViewController(不要拖委托)。在 ViewController.m 中添加数据源方法

- 创建单元格:CollectionViewCell 类。在 storyBoard 中为 Cell 选择类到 Cell 类,指定重用 ID。

- 将 tableView 拖到 collectionCell 方格内。委托,数据源也拖到 CollecionCell Square。在 Cell.m 中添加 tableView 数据源,委托

- 在其中实现 tableViewDidSelect 时创建 CellDelegate。将此委托转移到 UIViewController 以执行其他操作

示例代码:https ://github.com/lequysang/github_zip/blob/master/TableViewInCollection.zip

于 2013-03-04T02:45:52.150 回答
2

Swift2 更新 - 我们不需要执行上述所有步骤。只需让控制器成为 tableview 和 collection view 的委托和数据源就可以了。

于 2015-09-11T17:21:07.210 回答
0

我已经能够在不使用情节提要的情况下完成这项工作——尽管我使用 XIBs 作为我的视图,但只是为了添加自动布局规则。所有自定义(颜色、字体、标签等)都在代码中设置。无论如何,这也应该适用于以编程方式构建的单元格。

怎么做:

  • 要记住的最重要的事情是将您的自定义视图添加到单元格的contentView属性中,不是在单元格本身内部。如果您将 XIB 用于自定义UICollectionViewCell,请将其留空。实例化您的自定义视图(在哪里UITableView),然后将其添加为UICollectionViewCell's的子视图contentView。如果直接在集合视图单元格内添加表格视图,表格视图将不会垂直滚动

  • 实现shouldSelectItemAtIndexPathandshouldHighlightItemAtIndexPathUICollectionViewDelegateand 使两者都 return false,以便点击集合视图单元格不会拦截用于内部表格视图的点击。

使用适用于 iOS 9+ 的 Xcode 7.3 完成。

于 2016-04-21T08:38:46.530 回答