在 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
中。您可以垂直显示单元格的内容或显示在详细信息视图中
UITableView
是UIScrollView
的子类。
形成 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 滚动的主要内容,如果未能解决你的问题,请参考以下文章
tableViewCell 的高度和宽度在快速滚动时发生变化
滚动时 TableViewCell 中的 Swift 3 UISwitch 丢失状态