集合视图由单行,水平排列的单元格组成,其大小与集合视图的边界大小相同,单个单元格填充整个屏幕。处理触摸的UICollectionView内的UITableView。
问题是收集视图似乎拦截所有的锅。我如何将它们转发到桌面,以便我也可以垂直滚动桌面。
我想垂直平移传递到单元格内的表,所以它可以上下滚动。我希望水平锅被传送到收集视图,所以它可以水平滚动。
任何想法?谢谢。用故事板
集合视图由单行,水平排列的单元格组成,其大小与集合视图的边界大小相同,单个单元格填充整个屏幕。处理触摸的UICollectionView内的UITableView。
问题是收集视图似乎拦截所有的锅。我如何将它们转发到桌面,以便我也可以垂直滚动桌面。
我想垂直平移传递到单元格内的表,所以它可以上下滚动。我希望水平锅被传送到收集视图,所以它可以水平滚动。
任何想法?谢谢。用故事板
对于里面的CollectionView的UITableView,请按照下列步骤操作:
-Drag的CollectionView到的UIViewController,拖动的数据源的UIViewController(不拖代表)。在ViewController.m中添加数据源方法
- 创建单元格:CollectionViewCell类。在storyBoard中为Cell选择Cell类,指定重用ID。
-Drag tableView里面collectionCell广场。代表,数据源也拖到CollecionCell Square。添加tableView数据源,委托Cell.m内部
- 创建CellDelegate时实现tableViewDidSelect里面。这个转移委托的UIViewController执行其他操作
示例代码:https://github.com/lequysang/github_zip/blob/master/TableViewInCollection.zip
所以是的工作,我忘了提及,我使用自定义布局,这是UICollectionViewFlowLayout的子类。这似乎是所有问题的根源。 – foFox 2013-03-04 03:55:40
忘记加入:非常感谢。 – foFox 2013-03-04 04:02:16
嗨在代码中,如果我增加集合视图中单元格的数量。在收集视图的第三个单元格中显示第一个表格视图,而不是第三个。如何解决它? – souvickcse 2014-10-29 13:21:59
Swift2更新 - 我们不需要做所有上述步骤。只需将控制器作为tableview和collection视图的委托和数据源就行了。
我已经能够在不使用故事板的情况下完成这项工作 - 尽管我为我的视图使用了XIB,但仅添加了Autolayout规则。所有自定义(颜色,字体,标签等)均在代码中设置。在任何情况下,这也适用于以编程方式构建的单元。
如何做到这一点:
要记住的是,以您的自定义视图添加到细胞和不是电池本身内的contentView
财产最重要的事情。如果您将XIB用于自定义UICollectionViewCell
,请将其留空。实例化您的自定义视图(其中UITableView
是),然后将其添加为UICollectionViewCell
的contentView
的子视图。如果直接在收集视图单元格内添加表格vie,表格视图将不会垂直滚动。
落实UICollectionViewDelegate
的shouldSelectItemAtIndexPath
和shouldHighlightItemAtIndexPath
,使都返回false
,使攻上收集观察室不用于内部表格视图水龙头拦截。
用Xcode 7.3完成iOS 9+。
你能分享你的演示吗? – Jason 2017-01-26 05:44:58
使用storyBoard,尝试将tableView作为自身的子视图放在collectionViewCell.collectionView中。查看 – 2013-03-04 01:07:30
集合视图已经是视图的子视图。表视图被插入到集合视图的原型单元中,因此在运行时它的in,cell.contentView。水龙头传递到表格,我可以看到里面的单元格被选中。 – foFox 2013-03-04 01:10:26
是的,将tableView拖入单元格square(cell.contenView)。显示一些代码。 – 2013-03-04 01:11:28