如何取消动画并以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/