动画UIImageView色彩剂量工作

时间:2016-04-20 11:01:11

标签: objective-c swift uiimageview uiimage tintcolor

我有UIImageView,我在iv应用后分配了UIImage

 imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)

到图像。

我试图为这段代码设置动画:

UIView.transitionWithView(imageV!, duration: 0.275, options: [.BeginFromCurrentState , .TransitionCrossDissolve], animations: { () -> Void in
        imageV?.tintColor = globalColor
        imageV?.setNeedsDisplay()
        }, completion: nil)

但它只是跳到最后的颜色。 有什么建议吗?谢谢!

2 个答案:

答案 0 :(得分:0)

对于Objective-C,它看起来像:

[UIView animateWithDuration:0.25f
                      delay:0.0f
                    options:UIViewAnimationOptionBeginFromCurrentState
                 animations:^
{
    imageView.tintColor = color;
}
                 completion:nil];

答案 1 :(得分:0)

您不能为图像视图的tintColor属性设置动画。

只有少数可以设置动画的UIView属性。

https://developer.apple.com/library/archive/documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/AnimatingViews/AnimatingViews.html

我有一个类似的问题,而我的解决方法是用第二个tintColor创建了第二个imageView。然后,当需要更改颜色时,我为两个UIImageViews之间的过渡设置了动画效果,给人的印象是颜色正在更改。