objective-c - 我怎样才能取消动画并从transitionFromView :toView:duration:options:completion?开始

标签 objective-c ios core-animation

如何取消动画并以transitionFromView:toView:duration:options:completion开始? 实际上我想要的是,如果动画被取消,避免调用完成 block ,只是因为该 block 转换状态机。

我想可以取消动画,因为这里: https://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html 我读到了这个: 完成 动画序列结束时要执行的 block 对象。该 block 没有返回值,并采用一个 bool 参数来指示动画是否在调用完成处理程序之前实际完成。

那么如何取消动画呢? 非常感谢。

最佳答案

在这种情况下,它是 fromView 的 super View 的层。您可以随时取消动画

[parentView.layer removeAllAnimations];

您的完成回调仍将被调用,但请记住,正如您上面引用的那样,回调采用一个 BOOL 参数来指示动画是否完成。只需检查参数,如果为“否”则不执行任何操作。

从视觉上看,动画看起来就像跳到了结尾。您将看到 toView 作为事件界面。事实上,即使从动画一开始,toView 就已经存在于 super View 中;它只是在动画过程中被图层的presentationLayer 覆盖。

关于objective-c - 我怎样才能取消动画并从transitionFromView :toView:duration:options:completion?开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9611651/

相关文章:

ios - PFObject 中的 key 导致崩溃 - Parse.com

ios - 无法使用 'valueForKey' 类型的参数列表调用 '(anyObject?)'

objective-c - iOS 模拟器上的照片库

javascript - 在 IOS 上显示 html5 视频的最佳方法

ios - 安装Firebase Pod时,我没有获得FirebaseDatabase模块?

ios - 核心动画——修改动画属性

objective-c - 旋转 View 边缘的 CATransform3D 深度

ios - ALAssetsLibrary 在位置获取照片

ios - UISwitch Bool 失败? Switch isOn 不是真的

ios - 持续时间导致访问错误问题的 UIView 动画