检测 UITableView 的超级视图中的触摸,如果反弹不是 = 否,它会反弹

Posted

技术标签:

【中文标题】检测 UITableView 的超级视图中的触摸,如果反弹不是 = 否,它会反弹【英文标题】:Detecting touches in superview of UITableView when it would bounce if bounces weren't = NO 【发布时间】:2011-08-18 19:34:57 【问题描述】:

我在 UIView 子类中的 UIView 子类中有一个 UITableView。我想要的是,当向下拖动表格视图的顶部时,而不是单元格“弹跳”下来,而是将整个 UITableView 及其包含的 UIView 向下拖动。

我使用以下方法阻止它在 UITableView 顶部“弹跳”。

-(void) scrollViewDidEndDecelerating:(UIScrollView *)scrollView 
    if (scrollView.contentOffset.y == 0) 
        tableView.bounces = NO;
    


-(void) scrollViewDidScroll:(UIScrollView *)scrollView 
    tableView.bounces = YES;

我认为它可能会传递触摸事件以向下滑动响应者层次结构。唉,没有。我怎样才能最好地捕获我的超级视图中的触摸事件,然后将包含 UITableView 的 UIView 向下移动?

编辑: 澄清一下,这里有一个现有应用程序中类似功能的示例:在 Twitter 的 iPad 应用程序中,如果您在浏览器中放大,页面的左边缘接触到左侧UIWebView 的边缘,然后如果您从左到右拖动 Web 视图,您最终会拖动 Web 视图。这几乎就是我想要的,只是垂直和 UITableView。

【问题讨论】:

【参考方案1】:

听起来好像您正在尝试实现包含表格的整个视图的滚动。如果是这种情况,我可以建议将视图的其他部分添加为表格中的单元格或表格中的子视图。

【讨论】:

好吧,一个我想要的例子。在 Twitter 的 iPad 应用程序中,如果您在浏览器中放大,页面的左边缘接触 UIWebView 的左边缘,那么如果您在 Web 视图上从左向右拖动,您最终会拖动 Web 视图。这几乎就是我想要的,只是垂直和 UITableView。 请记住,如果您有大视图,您可能会遇到麻烦。 TableViewCells 最大值为 2009 点。

以上是关于检测 UITableView 的超级视图中的触摸,如果反弹不是 = 否,它会反弹的主要内容,如果未能解决你的问题,请参考以下文章

如何在单元格下方的表格视图中检测点击/触摸?

UITableView 跟踪触摸错误的轴

iPhone - 检测对 UITableViewCell 子视图的触摸

检测 UIButton 触摸子视图

如何检测对 UITableView 的触摸,到目前为止似乎没有任何效果?

UIGestureRecognizer 处理 UITableView 中的触摸