新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了“iOS如何仿小红书实现呼吸灯动画”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“iOS如何仿小红书实现呼吸灯动画”这篇文章吧。
创新互联公司主打移动网站、网站制作、做网站、网站改版、网络推广、网站维护、域名申请、等互联网信息服务,为各行业提供服务。在技术实力的保障下,我们为客户承诺稳定,放心的服务,根据网站的内容与功能再决定采用什么样的设计。最后,要实现符合网站需求的内容、功能与设计,我们还会规划稳定安全的技术方案做保障。
最近公司需求做个类似小红书的标签呼吸灯动画,经过一段时间研究使用两种方式实现了该效果...
第一种方式使用定时器加 UIView动画,核心方法如下
-(void)begigFlashAnimation { // 缩放 + 透明度动画 self.flashView.transform = CGAffineTransformMakeScale(0.1, 0.1); [UIView animateWithDuration:3 animations:^{ self.flashView.transform = CGAffineTransformMakeScale(1,1); self.flashView.alpha = 1.0; [UIView beginAnimations:@"flash" context:nil]; [UIView setAnimationDuration:2]; [UIView setAnimationCurve:UIViewAnimationCurveLinear]; self.flashView.alpha = 0; [UIView commitAnimations]; }]; }
第二种方式使用核心动画的动画组,核心方法如下
- (CAAnimationGroup *)groups { if (!_groups) { // 缩放动画 CABasicAnimation * scaleAnim = [CABasicAnimation animation]; scaleAnim.keyPath = @"transform.scale"; scaleAnim.fromValue = @0.1; scaleAnim.toValue = @1; scaleAnim.duration = 2; // 透明度动画 CABasicAnimation *opacityAnim=[CABasicAnimation animationWithKeyPath:@"opacity"]; opacityAnim.fromValue= @1; opacityAnim.toValue= @0.1; opacityAnim.duration= 2; // 创建动画组 _groups =[CAAnimationGroup animation]; _groups.animations = @[scaleAnim,opacityAnim]; _groups.removedOnCompletion = NO; _groups.fillMode = kCAFillModeForwards; _groups.duration = 2; _groups.repeatCount = FLT_MAX; } return _groups; }
以上是“iOS如何仿小红书实现呼吸灯动画”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!