表格单元格内部滚动视图内的自定义视图不响应事件

时间:2016-03-20 21:30:50

标签: ios swift uiscrollview uikit

我的视图控制器中有一个UITableView,在单元格内部有一个水平的UIScrollView,在这个滚动视图中,我创建了许多自定义UIView实例(从NIB文件加载)

UITableViewCell
-- UIScrollView
   -- MyView: UIView

现在MyView没有检测到触摸,userInteractionEnabled在层次结构中的每个视图上都设置为YES,我尝试了两种方式

  1. 实施touchesEnded:在MyView中
  2. 向其添加UITapGestureRecognizer
  3. 两种方式都不起作用,我想这与我在UITableViewCell内部有一个UIScrollView这个事实相关

    我在Swift中编写应用程序,而不是Objective-C,我认为这不重要,因为我认为这是一个UIKit问题,但谁知道。

    如果你有任何提示,我都是耳朵。

    谢谢

1 个答案:

答案 0 :(得分:1)

此案例的替代方法是添加 UITableViewCustomCell ,并在自定义单元格中添加带水平滚动的 UICollectionView 。它比在滚动视图中添加UIView更加优化,因为您可以大大加快速度。您可以根据需要实例化多个单元,而不是实例化大量单元格,即可以看到多个单元格(这是自动处理的)。如果滚动到列表中有“单元格”尚未获得其可视化表示的区域,而不是实例化新的单元格,则重用已有的单元格。