在 tableviewcell 内滚动时防止 tableview 滚动

Posted

技术标签:

【中文标题】在 tableviewcell 内滚动时防止 tableview 滚动【英文标题】:prevent tableview from scrolling while scrolling inside a tableviewcell 【发布时间】:2011-05-13 18:52:01 【问题描述】:

我有一个表格视图。在这里面,我有一个 tableviewcell,里面有一个水平滚动视图。

它工作正常,但如果我开始在 tableviewcell 内水平滚动并向上或向下移动一点,水平滚动停止并且 tableview 被滚动。

有没有办法防止表格视图在表格视图单元内水平滚动时滚动?

感谢大家的帮助

【问题讨论】:

【参考方案1】:

试试scrollView.canCancelContentTouches = NO

如果这不起作用,您可能必须通过子类化 UIScrollView 来对触摸事件进行更复杂的处理。 (看touchesBegan:event:, touchesMoved:event:, touchesEnded:event:, touchesCancelled:event:

【讨论】:

看起来 scrollView.canCancelContentTouches = NO 正在工作 :) 谢谢!【参考方案2】:

您不应该将UIScrollView 放在UITableView 中。您可以垂直显示单元格的内容或显示在详细信息视图中

UITableViewUIScrollView 的子类。

形成 Apple 文档。

重要提示:您不应该嵌入 UIWebView 或 UITableView 中的对象 UIScrollView 对象。如果你这样做, 可能会导致意外行为,因为 两个对象的触摸事件可以 混为一谈,处理不当。

More

【讨论】:

not embed UIWebView or UITableView objects in UIScrollView objects 但我反其道而行之。我将 uiscrollview 嵌入到 uitableview 中,或者更好地嵌入到 tableviewcell 中 @choise :之所以提到“UIWebView 或 UITableView”,只是因为它们是从 UIScrollView 继承的,所以如果您在另一个 UIScrollView(UITableView)中有一个 UIScrollView(UITableViewCell 的 UIScrollView),您将在按照答案中的说明滚动。 您对此有何看法:developer.apple.com/library/ios/#documentation/WindowsViews/…

以上是关于在 tableviewcell 内滚动时防止 tableview 滚动的主要内容,如果未能解决你的问题,请参考以下文章

刷新主页内的页面时防止div在顶部滚动

Tableviewcell 内容在滚动时四处移动

tableViewCell 的高度和宽度在快速滚动时发生变化

滚动时 TableViewCell 中的 Swift 3 UISwitch 丢失状态

当用户滚动到最后一个 tableViewCell 时执行操作

Objective c - 表格视图内的按钮防止表格滚动