【问题标题】:UIScrollView not scrolling when set to a tableView's tableHeaderViewUIScrollView 设置为 tableView 的 tableHeaderView 时不滚动
【发布时间】:2014-01-26 15:09:02
【问题描述】:
当我将 UIScrollView 实例设置为 tableHeaderView 时,我无法在 UITableView 中滚动它。
它仍然响应它出现的触摸事件,但不希望水平滚动。我已经尝试明确设置为 setUserInteractionEnabled:YES ,但运气不佳。
当它被设置为 tableHeaderView 时,我需要做些什么来让滚动工作吗?
谢谢。
【问题讨论】:
标签:
iphone
objective-c
cocoa-touch
【解决方案1】:
您可能需要检查您的scrollView.contentSize,确保scrollView.contentSize.width > 绑定宽度。
【解决方案2】:
这会在 UIScrollView 中嵌入 UIScrollView(因为 UITableView 是 UIScrollView)。您可能希望将 tableview 的 canCancelContentTouches 设置为 NO,这样它就不会取消您的 UIScrollView 的触摸。如果您的 UITableView 需要垂直滚动,这可能会产生一些问题。
如果这是您的问题,请将 UITableView 子类化以重载 touchesShouldCancelInContentView: 以便水平拖动(或者可能是标题中的触摸)不会返回 YES。