全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

iOS开发中仿Tumblr点赞心破碎动画效果

 最近Tumblr轻博客无论是web端还是移动端,都非常受欢迎,简单调研了一下,其中动画是我感兴趣的,特此写了个仿Tumblr点赞心破碎动画;

1.首先看下效果:

2.模仿Tumblr中的效果应用如下:

原理:使用按钮点击Action增加两个事件,通过改变背景hidden和frame,切换图片,增加动画效果等;

setupUI及touch Action:

<span style="font-size:14px;">- (void)setupUI 
{ 
  // 点击的btn 
  UIButton *praiseBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
  praiseBtn.frame = CGRectMake(100, 200, KKPraiseBtnWH, KKPraiseBtnWH); 
  [praiseBtn setImage:[UIImage imageNamed:@"icon_like"] forState:UIControlStateNormal]; 
  [praiseBtn setImage:[UIImage imageNamed:@"icon_likeon"] forState:UIControlStateSelected]; 
  [self.view addSubview:praiseBtn]; 
  [praiseBtn addTarget:self action:@selector(clickTheBtn:) forControlEvents:UIControlEventTouchUpInside]; 
  _praiseBtn = praiseBtn; 
  // 放大后的btn 
  _coverBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
  _coverBtn.frame = praiseBtn.frame; 
  _coverBtn.alpha = 0; 
  [_coverBtn setImage:[UIImage imageNamed:@"big"] forState:UIControlStateSelected]; 
  [_coverBtn setImage:[UIImage imageNamed:@"big"] forState:UIControlStateNormal]; 
  [self.view insertSubview:_coverBtn belowSubview:praiseBtn]; 
  _cancelPraiseImg = [[UIImageView alloc]initWithFrame:CGRectMake(80, 150, KKPraiseBtnWH*2, KKPraiseBtnWH*2*KKToBrokenHeartWH)]; 
  _cancelPraiseImg.hidden = YES; 
  _cancelPraiseImg.centerX = _praiseBtn.centerX; 
  [self.view addSubview:_cancelPraiseImg]; 
} 
-(void)clickTheBtn:(UIButton *)btn 
{ 
  [self playAnimation]; 
  btn.userInteractionEnabled = NO; 
  btn.selected = !btn.selected; 
} 
-(void)playAnimation{ 
  if (!_praiseBtn.selected) { 
    _coverBtn.alpha = 1; 
    [UIView animateWithDuration:1.0f animations:^{ 
      _coverBtn.frame = CGRectMake(80, 100, KKPraiseBtnWH*2, KKPraiseBtnWH*2); 
      CAKeyframeAnimation *anima = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation"]; 
      NSValue *value1 = [NSNumber numberWithFloat:-M_PI/180*5]; 
      NSValue *value2 = [NSNumber numberWithFloat:M_PI/180*5]; 
      NSValue *value3 = [NSNumber numberWithFloat:-M_PI/180*5]; 
      anima.values = @[value1,value2,value3]; 
      anima.repeatCount = MAXFLOAT; 
      [_coverBtn.layer addAnimation:anima forKey:nil]; 
      _coverBtn.alpha = 0; 
      _coverBtn.centerX = _praiseBtn.centerX; 
    } completion:^(BOOL finished) { 
      _coverBtn.frame = _praiseBtn.frame; 
      _praiseBtn.userInteractionEnabled = YES; 
    }]; 
  } else { 
    _cancelPraiseImg.hidden = NO; 
    NSArray *imgArr = [NSArray arrayWithObjects:[UIImage imageNamed:@"icon_like_broken1"],[UIImage imageNamed:@"icon_like_broken2"],[UIImage imageNamed:@"icon_like_broken3"],[UIImage imageNamed:@"icon_like_broken4"], nil nil]; 
    _cancelPraiseImg.animationImages = imgArr; 
    _cancelPraiseImg.animationDuration = KKBorkenTime; 
    _cancelPraiseImg.animationRepeatCount = 1; 
    [_cancelPraiseImg startAnimating]; 
    [UIView animateWithDuration:KKBorkenTime animations:^{ 
      _cancelPraiseImg.frame = CGRectMake(80, 200, KKPraiseBtnWH*2, KKPraiseBtnWH*2*KKToBrokenHeartWH); 
      _cancelPraiseImg.alpha = 0; 
    }completion:^(BOOL finished) { 
      _cancelPraiseImg.frame = CGRectMake(80, 150, KKPraiseBtnWH*2, KKPraiseBtnWH*2*KKToBrokenHeartWH); 
      _cancelPraiseImg.alpha = 1; 
      _praiseBtn.userInteractionEnabled = YES; 
    }]; 
  } 
}</span> 

以上所述是小编给大家介绍的iOS开发中仿Tumblr点赞心破碎动画效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# ios点赞动画效果  # ios仿tumblr点赞  # 仿tumblr心破碎  # iOS实现抖音点赞动画效果  # iOS实现点赞动画特效  # iOS使用核心动画和粒子发射器实现点赞按钮的方法  # 基于UIControl控件实现ios点赞功能  # mysql之脏读、不可重复读、幻读的区别及说明  # 小编  # 在此  # 感兴趣  # 给大家  # 写了  # 受欢迎  # 所述  # 给我留言  # 感谢大家  # 疑问请  # 有任何  # 大后  # 博客  # setImage  # KKPraiseBtnWH  # icon_like  # imageNamed  # UIImage  # praiseBtn  # UIButton 


相关文章: 建站之星如何通过成品分离优化网站效率?  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何在局域网内绑定自建网站域名?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  活动邀请函制作网站有哪些,活动邀请函文案?  如何选择域名并搭建高效网站?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  小型网站建站如何选择虚拟主机?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  如何高效完成自助建站业务培训?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  如何用狗爹虚拟主机快速搭建网站?  智能起名网站制作软件有哪些,制作logo的软件?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  北京网站制作的公司有哪些,北京白云观官方网站?  电商平台网站制作流程,电商网站如何制作?  如何在云主机上快速搭建多站点网站?  建站之星各版本价格是多少?  音响网站制作视频教程,隆霸音响官方网站?  教程网站设计制作软件,怎么创建自己的一个网站?  婚礼视频制作网站,学习*后期制作的网站有哪些?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  学校建站服务器如何选型才能满足性能需求?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  建站之星代理平台如何选择最佳方案?  高端建站三要素:定制模板、企业官网与响应式设计优化  如何选择适合PHP云建站的开源框架?  免费视频制作网站,更新又快又好的免费电影网站?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  Swift中switch语句区间和元组模式匹配  高防服务器租用指南:配置选择与快速部署攻略  成都响应式网站开发,dw怎么把手机适应页面变成网页?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何用景安虚拟主机手机版绑定域名建站?  如何制作网站标识牌,动态网站如何制作(教程)?  建站之星云端配置指南:模板选择与SEO优化一键生成  建站之星CMS建站配置指南:模板选择与SEO优化技巧  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  如何快速建站并高效导出源代码?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  高防服务器租用如何选择配置与防御等级?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何快速搭建高效香港服务器网站?  如何基于PHP生成高效IDC网络公司建站源码?  建站之星安全性能如何?防护体系能否抵御黑客入侵? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。