#import "ViewController.h"@interface ViewController ()
/**按钮*/
@property(nonatomic,weak)UIButton * btn;
/**遮盖按钮*/
@property(nonatomic,weak)UIButton * alpahaBtn;
@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];//设置背景图片以便区分UIImageView * imgType=[[UIImageView alloc]initWithFrame:self.view.frame];imgType.image=[UIImage imageNamed:@"timg1"];[self.view addSubview:imgType];//创建阴影按钮UIButton * alpahaBtnType=[[UIButton alloc]init];//设置全屏alpahaBtnType.frame=self.view.frame;//设置背景颜色alpahaBtnType.backgroundColor=[UIColor lightGrayColor];//设置透明度alpahaBtnType.alpha=0.0;self.alpahaBtn=alpahaBtnType;[self.view addSubview:alpahaBtnType];[self.view bringSubviewToFront:alpahaBtnType];CGFloat cgW=self.view.bounds.size.width;CGFloat imgW=174;CGFloat imgH=272;CGFloat cgY=(cgW-imgW)*0.5;//创建按钮UIButton * btnType=[[UIButton alloc]init];//设置图片[btnType setImage:[UIImage imageNamed:@"timg"] forState:UIControlStateNormal];//设置位置btnType.frame=CGRectMake(cgY, cgY, imgW, imgH);self.btn=btnType;[self.view addSubview:btnType];/**设置点击事件*/[alpahaBtnType addTarget:self action:@selector(alpahaBtnTypeClick) forControlEvents:UIControlEventTouchUpInside];[btnType addTarget:self action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside];}
/**消失阴影还原图片*/
-(void)alpahaBtnTypeClick{//调用动画[UIView animateWithDuration:2.0 animations:^{CGFloat cgW=self.view.bounds.size.width;CGFloat imgW=174;CGFloat imgH=272;CGFloat cgY=(cgW-imgW)*0.5;self.btn.frame=CGRectMake(cgY, cgY, imgW, imgH);self.alpahaBtn.alpha=0.0;}];
}
/**点击发大图片点击还原图片*/
-(void)btnClick{if (self.alpahaBtn.alpha==0) {//调用动画[UIView animateWithDuration:1.5 animations:^{
//            NSLog(@"%@",NSStringFromCGRect(self.btn.frame));CGFloat cgX=self.btn.frame.origin.x;CGFloat cgY=self.btn.frame.origin.y;CGFloat cgW=self.btn.frame.size.width;CGFloat cgH=self.btn.frame.size.height;self.btn.frame=CGRectMake(cgX-(cgX*0.5), cgY-(cgY*0.5), cgW+(cgW*0.5), cgH+(cgH*0.5));self.alpahaBtn.alpha=1;}];}else{[self alpahaBtnTypeClick];}
}
@end

功能很简单就是点击按钮加大图片 在点击图片还原回去

判断条件主要判断阴影是否为0 判断阴影按钮的透明度

转载于:https://www.cnblogs.com/fleas/p/5561884.html

xcode 不值钱的动画UIButton相关推荐

  1. ios uiview动画_iOS UIView动画

    ios uiview动画 In this tutorial, we'll be animating our UI Views in various ways in the iOS Applicatio ...

  2. iOS 常用动画第三方

    动画 Core Animation笔记,基本的使用方法 - Core Animation笔记,基本的使用方法:1.基本动画,2.多步动画,3.沿路径的动画,4.时间函数,5.动画组. awesome- ...

  3. iOS网络资源(动画)

    Core Animation笔记,基本的使用方法 - Core Animation笔记,基本的使用方法:1.基本动画, 2.多步动画,3.沿路径的动画,4.时间函数,5.动画组. awesome-io ...

  4. iOS、mac开源项目及库(转载)

    目录 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关 隐藏与显示 HUD与Toast 对话框 其他UI 动画 侧滑与右滑返回手势 其他动画 网络相关 网络连接 网络测试 图像获取 ...

  5. iOS及Mac开源项目和学习资料

     iOS UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UI ...

  6. iOS - 常用的iOS Mac框架和库以及常用的中文开发博客

    对于iOS以及Mac开发中常用到的一些框架,以及比较好的技术博客做了总结: 主要内容如下: UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关 隐藏与显示 HUD与Toast 对话框 ...

  7. OS及Mac开源项目和学习资料【超级全面】

    UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITable ...

  8. iOS开发第三方大全

    UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableVie ...

  9. iOS 常用第三方库及插件

    //菜单切换 https://github.com/pujiaxin33/JXCategoryView //各种导航栏样式 https://github.com/rickytan/RTRootNavi ...

最新文章

  1. 单链表-两个线性表的合并1(破环原链表+尾插法)
  2. python2与python3代码互相转化时注意事项
  3. bug--Unable to add window –token is not valid; is your activity running?
  4. FD.io的使用场景(VPP)
  5. 技术圈儿002---高并发整体可用性:一文详解降级、限流和熔断
  6. 学习笔记:pscc2020基础
  7. Eclipse中Latex配置
  8. linux service和chkconfig命令区别
  9. 理解设计模式——代理模式
  10. 有了这些好看的流程图模板,你也可以画出漂亮的流程图
  11. 使用EXCEL进行计数
  12. ORACLE 仿照原表建表语法
  13. App首次进入引导界面
  14. 关于三大主流移动操作系统的看法
  15. mysql查询选修课程的学生_[MySQL]查询学生选课的情况(一)
  16. [转载]性能测试中TPS和并发用户数估算
  17. 【JAVA多线程】如何解决一个生产者与消费者问题
  18. superset二次开发
  19. android dynamic features 项目笔记
  20. html5知识点:HTML5新特性

热门文章

  1. 用GO语言开发editplus编辑器插件(附源码)
  2. Head first 第一章
  3. shell脚本 linux
  4. GitHub:攻击者正在利用被盗 OAuth 令牌攻击数十家组织机构
  5. JS如何判断浏览器类型和详细区分IE各版本浏览器
  6. 16个最有趣汉字,说透为人处世
  7. logstash grok插件语法介绍
  8. 从自卑的阴影中走出来
  9. sqlite 交叉编译-转
  10. SourceInsight下面一直出现unable to write to temp file for saving operation 这样的提示