ios - 使用 UIImageView 上的 UIViewAnimationOptionTransitionCrossDissolve 对 UIView transitionWithView 的多个并发调用闪烁

标签 ios objective-c uiimageview uiviewanimation uiviewanimationtransition

我想用动画从 UIImageView 将图像更改为另一个图像:

[UIView transitionWithView:self.scrollView
                      duration:1
                       options:UIViewAnimationOptionTransitionCrossDissolve | UIViewAnimationOptionAllowUserInteraction
                    animations:^
    {
        self.imageView.image = image;

    } completion:nil];

对于一个动画来说效果很好。 但是,如果我有一个或多个动画开始,而第一个动画仍在进行中,我会得到一些有线行为,它看起来像某种跳跃或闪烁。 如果我在模拟器中使用慢速动画,似乎第一个动画会停止并跳到第一个动画的结束图像,然后从第二个动画开始。 有谁知道如何防止这种情况发生?

最佳答案

尝试告诉动画它应该从当前状态开始。 (UIViewAnimationOptionBeginFromCurrentState)

[UIView transitionWithView:self.imageView
                      duration:1
                       options:UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionTransitionCrossDissolve | UIViewAnimationOptionAllowUserInteraction 
                    animations:^
    {
        self.imageView.image = image;

    } completion:nil];

关于ios - 使用 UIImageView 上的 UIViewAnimationOptionTransitionCrossDissolve 对 UIView transitionWithView 的多个并发调用闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19180557/

相关文章:

ios - RCTDevSettings.setIsDebuggingRemotely(true) 错误 "undefined is not an object"

Google Analytics 集成后 iOS 应用程序崩溃

iOS——如何用左上角缩放 UIView?

ios - 项目之间的碰撞不起作用

C#:Marshall 结构数组,其字符串从 Unity 中的 C++/ObjectiveC 到 C#

iphone - 制作一个跨 View Controller 重复的函数 DRY

ios - 类似于 Spotify 中的播放器模式转换

ios - 如何在 Swift 3 中加速大量 UIImages

ios - 照片编辑应用 iOS

ios - 旋转 UIImage