ios - 一个接一个地执行动画,由 KVO 命中(在异步 URLRequest 之后)

标签 ios objective-c key-value-observing uiviewanimation

我想根据传入的数据用动画动态插入 UIViews

我发送两个异步 URLRequest 并从另一个线程取回接收到的数据。

我正在观察一个属性,该属性会动态填充来自不同请求的数据。所以 KVO 向我发送消息,可能是一个接一个地发送给我。

对于第一条传入消息,我启动了一些相关动画。在动画期间,它经常发生,新数据到达并向我的观察者发送消息。然后我想等到动画结束并开始新数据的动画。

我正在寻找一个很好的实现,而不是带有 while 循环的东西,等待 bool 发生变化。

编辑: 考虑一下,我不能说哪个数据先出现。所以我不能将动画方法定义为第一个。

最佳答案

如何将传入的 View 添加到 mutableArray 中,然后使用类似这样的东西:

-(void) animateView:(UIView *)viewToAnimate{    

    [UIView animateWithDuration:0.5 animations:^{
        viewToAnimate.alpha = 0;
    }
                 completion:^(BOOL finished){
                     [_mutableArrayOfAnimationViews removeObject: viewToAnimate];
                     if ([_mutableArrayOfAnimationViews count] > 0) {
                         UIView *newAnimationView = [_mutableArrayOfAnimationViews objectAtIndex:0];
                         [self animateView: newAnimationView];
                     }
                 }];   
}

然后你还可以检查当 View 进来时数组是否已经为空,如果是就调用上面的方法...

关于ios - 一个接一个地执行动画,由 KVO 命中(在异步 URLRequest 之后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14631949/

相关文章:

macos - 如何使用 KVO 检测应用程序何时激活?

iOs 从保存状态打开应用

iphone - 如果我对在 VMware 上运行的 OS X 感到满意,我真的必须购买 Mac 才能为 App Store 开发吗?

ios - iOS 12.2 是否支持 PWA 的 GPS?

iphone - 当我的 viewDidDisappear 时,我尝试释放我的表格。当我回到视野时仍然在那里

ios - View 边界外的 subview 上的手势识别器

cocoa - 从共享实用程序窗口和最前面的文档窗口进行绑定(bind)的好方法是什么?

ios - 如何增加角标(Badge)数量

iphone - 从 iPhone 的 TableView 中保存选定的行数据

caching - 组织内存缓存键