微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CAKeyframeAnimation for backgroundColor…导致崩溃

如何解决CAKeyframeAnimation for backgroundColor…导致崩溃

|| 我用此代码枚举一个数组,它崩溃了。我认为这是因为我包装的颜色不正确,但是如何传递它们呢?
    CAKeyframeAnimation *iAnimation = [CAKeyframeAnimation animationWithKeyPath:@\"backgroundColor\"];
    NSArray *iTimes;
    NSArray *iValues;
    NSInteger iTag = iButton.tag;

    iTimes = [NSArray arrayWithObjects:
              [NSNumber numberWithFloat:(iTimeBlock * iTag)],[NSNumber numberWithFloat:(iTimeBlock * iTag + 1)],[NSNumber numberWithFloat:iTimeBlock * (iTag + 2)],nil];

    iValues = [NSArray arrayWithObjects:
               iButton.backgroundColor,iButton.color,// my subclass has this property
                       iButton.backgroundColor,nil];

    [iAnimation setKeyTimes:iTimes];
    [iAnimation setValues:iValues];
    [iAnimation setDuration:21.0];
    [iButton.layer addAnimation:iAnimation
                         forKey:@\"FlashColor\"];
    

解决方法

        
    iValues = [NSArray arrayWithObjects:
               (id)iButton.backgroundColor.CGColor,(id)iButton.color.CGColor,(id)iButton.backgroundColor.CGColor,nil];
    ,        要获得UIButton的颜色,可以执行以下操作: [iButton backgroundColor]; 您可能不需要这些东西:   [NSValue   valueWithBytes:iButton.backgroundColor                                 objCType:@encode(UIColor)],     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。