繁体   English   中英

iOS Obj-c渐变背景过渡

[英]iOS Obj-c gradient background transition

我想逐渐改变背景渐变

gradient.colors = [NSArray arrayWithObjects:(id)[UIColor.blackColor CGColor],(id)[UIColor.blueColor CGColor], nil];

gradient.colors = [NSArray arrayWithObjects:(id)[UIColor.grayColor CGColor],(id)[UIColor.cyanColor CGColor], nil];

[编辑]我当前的代码是:

                gradient.colors = [NSArray arrayWithObjects:(id)[UIColor.blackColor CGColor],(id)[UIColor.blueColor CGColor], nil];
                NSArray *fromColors = gradient.colors;
                NSArray *toColors =[NSArray arrayWithObjects:(id)[UIColor.grayColor CGColor],(id)[UIColor.cyanColor CGColor], nil];
                CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath: @"colors"];

                animation.fromValue = fromColors;
                animation.toValue = toColors;
                animation.duration = 3.00;
                animation.removedOnCompletion = false;
                animation.autoreverses = NO;
                animation.fillMode = kCAFillModeForwards;
                animation.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionLinear];
                if (![gradient.animationKeys containsObject:@"colors"]) {
                    [gradient addAnimation:animation forKey:@"colors"];
                }
                [self.background.layer addSublayer:gradient];

但它什么也没做。 有人能帮助我吗?

我认为CABasicAnimation.keypath中不支持“颜色”。但是如何满足要求,我仍然想不出答案。https://stackoverflow.com/questions/5459673/how-can-i-知道 cabasicanimation-keypath 中的值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM