任何帮助的例子或代码片段将不胜感激.再次感谢,本.解决方法 我需要的是:
>将CAGradIEntLayer添加到视图控制器(或自定义视图)中,例如:
@property (nonatomic,retain) CAGradIEntLayer *gradIEnt;
>在视图控制器中,在vIEwDIDLoad中,创建并添加渐变图层到您的视图:
self.gradIEnt = [CAGradIEntLayer layer];gradIEnt.frame = self.vIEw.bounds;gradIEnt.colors = [NSArray arrayWithObjects: (ID)topcolor.CGcolor,(ID)bottomcolor.CGcolor,nil];gradIEnt.locations = [NSArray arrayWithObjects: [NSNumber numberWithfloat:0.0f],[NSNumber numberWithfloat:0.7],nil];[self.vIEw.layer addSublayer:self.gradIEnt];
3A.添加一个NSTimer到您的控制器将通过执行以适当的时间间隔更新self.gradIEnt:
topcolor = ...; bottomcolor = ...; NSArray* newcolors = [NSArray arrayWithObjects: (ID)topcolor.CGcolor,nil]; [(CAGradIEntLayer *)self.layer setcolors:newcolors];
这将允许您在每个步骤中准确地确定要用于渐变的颜色.否则,您可以尝试使用动画,如下所示:
3B.添加这样的动画,
- (voID)animateLayer... { [UIVIEw animateWithDuration:duration delay:0 options:UIVIEwAnimationoptionCurveEaseInOut animations:^{ [CATransaction begin]; [CATransaction setAnimationDuration:duration]; topcolor = ...; bottomcolor = ...; NSArray* newcolors = [NSArray arrayWithObjects: (ID)topcolor.CGcolor,nil]; [(CAGradIEntLayer *)self.layer setcolors:newcolors]; [CATransaction commit]; } completion:^(BOol b) { [self animateLayer..]; }];}
您也可以组合3a和3b.
总结以上是内存溢出为你收集整理的ios – 在xCode中创建类似于Solar Weather Application的动画渐变背景全部内容,希望文章能够帮你解决ios – 在xCode中创建类似于Solar Weather Application的动画渐变背景所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)