Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UICollectionView中的UITableView处理触摸。_Ios_Uitableview_Uicollectionview - Fatal编程技术网

Ios UICollectionView中的UITableView处理触摸。

Ios UICollectionView中的UITableView处理触摸。,ios,uitableview,uicollectionview,Ios,Uitableview,Uicollectionview,集合视图由一行水平对齐的单元格组成,其大小与集合视图的边界相同,单个单元格填充整个屏幕 问题是集合视图似乎截取了所有PAN。如何将它们转发到表中,以便也可以垂直滚动表 我希望垂直平移被传送到单元格内的桌子上,这样它就可以上下滚动。我希望水平平移被传递到集合视图,这样它就可以水平滚动 有什么想法吗?谢谢。有关使用情节提要的UITableView内部集合视图,请按照以下步骤操作: -将CollectionView拖动到UIViewController,将数据源拖动到UIViewController(

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

问题是集合视图似乎截取了所有PAN。如何将它们转发到表中,以便也可以垂直滚动表

我希望垂直平移被传送到单元格内的桌子上,这样它就可以上下滚动。我希望水平平移被传递到集合视图,这样它就可以水平滚动


有什么想法吗?谢谢。

有关使用情节提要的UITableView内部集合视图,请按照以下步骤操作:

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

-创建单元格:CollectionViewCell类。为情节提要中的单元选择“类”到单元类,指定重用ID

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

-在内部实现tableViewDidSelect时创建CellDelegate。将此委托传输到UIViewController以执行其他操作


示例代码:

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

我可以在不使用故事板的情况下实现这一点——尽管我对视图使用了XIB,但只是添加了自动布局规则。所有定制(颜色、字体、标签等)均以代码设置。在任何情况下,这也适用于以编程方式构建的单元

如何做到:

  • 要记住的最重要的事情是将自定义视图添加到单元格的
    contentView
    属性中,并且不在单元格内部。如果对自定义
    UICollectionViewCell
    使用XIBs,请将其保留为空。实例化自定义视图(其中
    UITableView
    ),然后将其添加为
    UICollectionViewCell
    contentView
    的子视图。如果将表格vie直接添加到集合视图单元格中,表格视图将不会垂直滚动

  • 实现
    UICollectionViewDelegate
    shouldSelectItemAtIndexPath
    shouldHighlightItemAtIndexPath
    ,并使两者都返回
    false
    ,以便在集合视图单元格上点击时不会与内部表视图的点击截获


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

使用故事板,尝试将tableView放在collectionViewCell中。collectionView作为self的子视图。viewCollection视图已经是视图的子视图。表视图被插入到集合视图的原型单元格中,因此在运行时,它位于cell.contentView中。点击确实被传送到表格中,我可以看到里面的单元格被选中。是的,将tableView拖到单元格正方形(cell.contenView)中。显示一些代码。是的,我已经有了。这似乎不起作用。实际上没有代码。我只是执行“return collectionView dequeueReusableCellWithReuseIdentifier:@“sample”forIndexPath:indexPath]“不要忘记委托,tableView的数据源。尝试显示一些tableCell和测试。是的,这很有效,我忘了提到,我正在使用自定义布局,它是UICollectionViewFlowLayout的一个子类。这似乎是所有问题的根源。忘了添加:非常感谢。如果我在集合视图中增加单元格的数量,代码中会出现Hi。在集合视图的第三个单元格中,它显示的是第一个表视图,而不是第三个表视图。如何解决?你能分享你的演示吗?