将同一个手势中的一个视图拖到另一个视图
我试图在Apple的iOS 10 Maps应用中重现按钮表。大部分工作。我一直在寻找this SO post和Pulley on GitHub,但他们都没有解决我的问题。将同一个手势中的一个视图拖到另一个视图
当纸张完全打开时,可以将纸张的内容作为UITableView
滚动,但当用户试图向下滚动(UITableView
的contentOffset
为负数时),手势正在拖入而不是UITableView
。手势从拖动UITableView
到拖动工作表无缝地变化。
在手势委托人的shouldRecognizeSimultaneouslyWith
中禁用滚动UITableView
,但这只在手势开始时调用。
我无法控制UITableView
的panGestureRecognizer
,所以我不能捕捉手势并确定它应该移动的视图。
我该如何改变什么UIGestureRecognizer
应该在手势中间识别触摸?
尝试
override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
if gestureRecognizer == myCustomPanGesture {
return self.tableView.contentOffset == 0
}
return true
}
这将导致两个的tableview和片材是滚动一样本。在工作表被拖拽时,UITableView的contentOffset正在增长。这也没有解决;如果手势开始在正确的“contentOffset”处拖动,则当contentOffset达到零时,手势将改变为拖动工作表。 – Wiingaard
嗯,它可能是你必须创建一个不可见的视图与平底锅上,并指定翻译的地方。 – SeanLintern88
但是,当你给它一个滑动的时候,我会放弃'UITableView'的滚动效果,并且它是自由运行的,它会逐渐降低速度。对? – Wiingaard
不能你实现shouldRecogniseGesture为您定制锅,并返回tableView.contentOffset == 0 – SeanLintern88