【问题标题】:How to enable touch events on tableHeaderView while the UITableView is still scrolling?当 UITableView 仍在滚动时,如何在 tableHeaderView 上启用触摸事件?
【发布时间】:2016-01-29 02:37:43
【问题描述】:

我在情节提要中创建了一个 UITableViewController,并添加了一个 UIView 作为 tableHeaderView。我在 tableHeaderView 中有一个 MKMapView,但我的问题是 tableHeaderView 中的地图在 tableView 完全停止滚动之前没有收到触摸。相反,如果在滚动结束减速之前发生触摸,则滚动会继续,这是不受欢迎的行为。

我已经尝试将 UITableView 子类化以覆盖 hitTest,但无法弄清楚要返回什么,因为 tableHeaderView 中的事件输出如下:

<MKNewAnnotationContainerView: 0x1589ac3a0; frame = (0 0; 375 310.5); autoresize = W+H; autoresizesSubviews = NO; layer = <CALayer: 0x170c3c5e0>>

那么,有没有办法在scrollView减速的时候同时和tableHeaderView交互呢?

【问题讨论】:

    标签: ios swift uitableview uiscrollview


    【解决方案1】:

    似乎 TableHeaderViews 并不是真正为这样的事情而设计的。您只需在 UITableView 顶部添加 MKMapView,这将解决您的问题。

    【讨论】:

    • 虽然这可以解决问题,但 tableHeaderView 是我的最佳选择。 tableView 需要在整个屏幕上可滚动,在 tableView 顶部添加另一个视图不是最佳选择。
    猜你喜欢
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多