ios - 暂停 UIView 的关键帧动画

标签 ios objective-c animation uiview

我目前正在创建一个加载栏,如果采取了特定操作,我想暂停并反转它。

我在下面有以下代码,可以在另一个 View 中设置一个 View 。我将如何暂停此动画并在动画对象的那个时间点在当前帧上应用另一个动画。我希望能够在当前动画中的任何给定时间将此条动画化到 0 宽度标记。

-(void)animateProgressBar
{
    CGRect endingFrame = self.frame;

    [UIView animateKeyframesWithDuration:self.time delay:0.0 options:0 animations:^{
        [UIView addKeyframeWithRelativeStartTime:0.0 relativeDuration:1.0 animations:^{
            self.loadingBar.frame = endingFrame;
        }];
    } completion:^(BOOL finished) {
        NSLog(@"TADA");
    }];
}

最佳答案

如果你想从现在的位置开始一个新的动画,只需使用 UIViewKeyframeAnimationOptionBeginFromCurrentState 开始新的动画。选项(或者如果只是做 animateWithDuration ,请使用 UIViewAnimationOptionBeginFromCurrentState )。

关于ios - 暂停 UIView 的关键帧动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20403610/

相关文章:

javascript - 为什么在主进程和渲染进程中调用的 window.maximize() 与 macos 上的动画不同?

ios - 在UILabel IOS的​​特定部分添加文本 "...Read more"

ios - 在模拟器中使用 UIDocumentInteractionController

iphone - Restkit 覆盖本地实体更改

objective-c - 如何使用 NSPasteboard 和 kPasteboardTypeFileURLPromise 进行复制/粘贴?

objective-c - 如何更改 cocoa NSBrowser 的背景颜色?

ios - sqlite数据库只更新1条记录

iPhone App - 内存警告后背景消失

ios - UIBarButtonItem:在动画期间更改标题字体颜色

jquery - 通过浏览器的后退按钮访问时如何将 jQuery 动画页面恢复到初始状态?