使用表格视图进行自定义交互式转换

时间:2016-11-11 16:13:25

标签: ios swift animation custom-transition

我创建了自定义推送/弹出交互式转换,但我无法理解如何同时处理此转换和表格视图滚动。

对于句柄自定义弹出动画,我添加了平移手势

let pan = UIPanGestureRecognizer(
                target: self,
                action: #selector(didPan))
pan.delegate = self
view.addGestureRecognizer(pan)

接下来我处理这个锅

if recognizer.state == .began {
    animator.interactive = true
    navigationController!.popViewController(animated: true)
}

animator.handlePan(recognizer: recognizer)

然后在符合UIPercentDrivenInteractiveTransitionUIViewControllerAnimatedTransitioning的动画师内部,我会转换动画。 我尝试通过平移手势从VC_2弹出导航到VC_1。

问题是添加平移手势表后视图不滚动。我认为这是因为2个手势识别器(我自己和UIKit表视图的识别器)。实际上,当桌子向上滚动时,我希望我自己的平台以交互方式弹出我的VC_2。

唯一的想法是

func gestureRecognizer(
        _ gestureRecognizer: UIGestureRecognizer,
        shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return tableView.contentOffset.y <= 0
}

但是在pop表视图偏移改变了奇怪:我的意思是表格在平移手势移动时滚动太多(移动为20px,偏移量改为500px某种类型)。

处理此问题的最佳方法是什么?您可以在Google的收件箱应用中看到此类动画 - 从电子邮件弹出到列表。

0 个答案:

没有答案