首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ios - CATransaction完成多次调用

ios - CATransaction完成多次调用
EN

Stack Overflow用户
提问于 2018-08-30 05:21:48
回答 1查看 211关注 0票数 1

当我使用CATransaction完成等待动画完成时,它多次调用该完成。应该只叫一次。下面是示例代码

代码语言:javascript
复制
@objc func spinWheel(sender: UIPanGestureRecognizer) {
    CATransaction.begin()
    CATransaction.setCompletionBlock{ [weak self] in
        print("hello")
    }
    startRotation(angle: calculatePosition)
    CATransaction.commit()
}

所以,在我滑动一个UIView之后,它会旋转。完成旋转后,我将尝试打印。它会印6到7次。应该只调用一次

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-30 06:31:57

我认为你的动画方法是错误的。当你在视图中添加一个pan手势并将其进行平移时。只要您正在摇摄,它就会一直调用委托。

因此,您应该做的是用UIPanGestureRecognizer替换UISwipeGestureRecognizer,或者在pan手势结束时处理完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52089699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档