图像交换期间背景闪烁交叉溶解,过渡

时间:2013-07-06 00:05:44

标签: objective-c catransition visual-glitch

目前我有一个CATransistion应该用新的替换_backgroundImageView.image。它工作得很好......并且工作很快,但是在此过渡期间,之前的图像会随机出现故障... Aka在过渡期间的某个地方闪烁一帧,然后完成过渡。

以下是代码:

[CATransaction begin];

CATransition *transition = [CATransition animation];
transition.type = kCATransitionFade;
transition.duration = 0.3;
transition.delegate = self;
[transition setValue:@"swipe" forKey:@"tag"];
[_backgroundImageView.layer addAnimation:transition forKey:nil];

 _backgroundImageView.image = [_backgroundImages objectAtIndex:pageControl.currentPage];
[CATransaction commit];

如果我在代码之前添加这个,那么毛刺就不会发生,但是其他的UI东西会变得不稳定,因为图像比较似乎阻塞了主线程(因为动画也是主线程所以它必须这样)

if ([UIImagePNGRepresentation(_backgroundImageView.image) isEqualToData:UIImagePNGRepresentation([_backgroundImages objectAtIndex:pageControl.currentPage])]) {
    return;
}
设备上没有发生BTW闪烁....至少到目前为止,我可以看到......所以也许这个问题没有实际意义......我在过渡期间看到过崩溃...但这可能是另一个问题

0 个答案:

没有答案
相关问题