UIColViewView里面的UITableView处理触摸。

时间:2013-03-04 01:00:58

标签: ios uitableview uicollectionview

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

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

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

有什么想法吗?感谢。

3 个答案:

答案 0 :(得分:15)

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

-Drag CollectionView到UIViewController,将数据源拖到UIViewController(不要拖动委托)。在ViewController.m

中添加数据源方法

-Create Cell:CollectionViewCell类。在storyBoard到Cell类中选择Cell类,指定重用ID。

-Drag tableView里面的collectionCell方块。委托,数据源也拖到CollecionCell Square。添加tableView数据源,在Cell.m

中委托

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

我已经能够在不使用故事板的情况下完成这项工作了 - 尽管我使用XIB作为我的观点,但只是添加了Autolayout规则。所有自定义(颜色,字体,标签等)都在代码中设置。无论如何,这也适用于以编程方式构建的单元格。

怎么做:

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

  • 实施contentView的{​​{1}}和shouldSelectItemAtIndexPath并同时返回shouldHighlightItemAtIndexPath,以便点击集合视图单元格时不会使用针对里面的表格视图。

使用Xcode 7.3 for iOS 9 +。