就像苹果地图一样,主要信息表视图是一个滑动视图,位于MKMapView的顶部。它包含一个UITableView作为子视图,并具有三种状态:完全打开,一半打开和关闭。
处于半开状态时,如果用户开始向上拖动工作表,则整个工作表将一直拖动到完全打开状态,并且如果用户进一步向上拖动工作表,则UITableView内容将开始滚动,请注意,用户仍然没有抬起手指因此,没有触摸结束事件,它是与工作表的持续交互。
我的设置:
包含UITableView的工作表具有UIPanGestureRecognizer设置,可以上下拖动工作表。
最初,当工作表半开时,我尝试通过设置isUserInteractionEnabled = false来禁用UITableView上的用户交互。因此,现在我可以平移工作表了,当达到完全打开状态时,我不再平移工作表并为UITableView设置isUserInteractionEnabled = true。但是我的问题是,当用户抬起手指并再次与之交互时,UITableView会响应下一次触摸事件。用户没有抬起手指时如何滚动?
我什至尝试更改UITableView的scrollEnabled属性而不是isUserInteractionEnabled属性,但结果相同。
我找到了这个similar question,,但是没有答案。
这是Apple Maps中的默认功能。 关于如何实现此功能的任何建议?