xcode 不值钱的动画UIButton
#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=;
CGFloat imgH=;
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=;
CGFloat imgH=;
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==) {
//调用动画
[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=; }];
}else{
[self alpahaBtnTypeClick];
}
}
@end
功能很简单就是点击按钮加大图片 在点击图片还原回去
判断条件主要判断阴影是否为0 判断阴影按钮的透明度
xcode 不值钱的动画UIButton的更多相关文章
- xcode 不值钱的动画UIImageView
了解 animateWithDuration方法 制作动画变得不值钱 代码创建一个UIImageView 后加入self.view 容器中 调用点击屏幕touchesBegan 方法执行动画 #imp ...
- xcode UIView常用方法属性动画
常见属性: @property(nonatomic,readonly) UIView *superview; 获得自己的父控件对象 @property(nonatomic,readonly,copy) ...
- Quartz2D复习(四) --- 图层CALayer和动画CAAnimation
1.CALayer 1).在ios中,能看得见摸得着的东西基本上都是UIView, 比如按钮.文本标签.文本输入框.图标等,这些都是UIView 2).UIView之所以能显示在屏幕上,完全是因为它内 ...
- Xcode + Swift 制作动态原型
转载: Xcode + Swift 制作动态原型 为什么是 Xcode 和 Swift 我们尝试过的动态原型设计工具,Origami, Form, Hype, FramerJS,Pixate 等,但都 ...
- SpriteBuilder中使用Node类型的ccb动画节点删除时崩溃的问题
因为节点需要呈现动画效果,虽然只有两个不同帧. 在SpriteBuilder中新建Bullet.ccb文件,类型为node. 添加如上2张图片,并制作动画效果帧. 在游戏中子弹遇到障碍物会被删除,时机 ...
- iOS - 开源框架、项目和学习资料汇总(动画篇)
动画 1. Core Animation笔记,基本的使用方法 – Core Animation笔记,基本的使用方法:1.基本动画,2.多步动画,3.沿路径的动画,4.时间函数,5.动画组.2. awe ...
- ios项目里扒出来的json文件
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...
- Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)
下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...
- iOS及Mac开源项目和学习资料【超级全面】
UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITable ...
随机推荐
- 简单的实现树莓派的WEB控制
最终效果如图: 用到的知识:Python Bottle HTML Javascript JQuery Bootstrap AJAX 当然还有 linux 我去,这么多--我还是一点一点说起吧-- 先贴 ...
- windbg命令学习3
3.进程与线程: 既可以显示进程和线程列表,又可以显示指定进程或线程的详细信息.调试命令可以提供比taskmgr更详尽的进程资料,在调试过程中不可或缺. 3.1. 进程命令 进程命令包括以下:显示进程 ...
- Oracle系列:记录Record
Oracle系列:记录Record 分类: [Oracle] (15) 版权声明:本文为博主原创文章,未经博主允许不得转载. Oracle系列:记录(Record) 一,什么是记录(Record) ...
- dropdownlist控件的几个属性selectedIndex、selectedItem、selectedValue、selectedItem.Text、selectedItem.value的区别
转自http://blog.csdn.net/iqv520/article/details/4419186 1. selectedIndex——指的是dropdownlist中选项的索引,为int,从 ...
- 【HTML5】DOMContentLoaded事件
这个事件是从HTML中的onLoad的延伸而来的,当一个页面完成加载时,初始化脚本的方法是使用load事件,但这个类函数的缺点是仅在所有资源都完全加载后才被触发,这有时会导致比较严重的延迟,开发人员随 ...
- 每个页面的Title样式
<style>.zc_lan14 {}{ TEXT-ALIGN: center; FONT-FAMILY: "微软雅黑"; MARGIN-BOTTOM: 3px; ...
- 更改DataTable列名方法
1.通过DataAdapter将查询的结果填充到DataSet的表(DataTable)中: 如:dataAdapter.Fill(dataSet),这时dataSet的表名默认为Table 如果使用 ...
- 2014.9.15HTML
<html> <title> </title> ——页面标题 <head> </head> ——网页上的控制信息 <body> ...
- jquery ajax 在ie7不能正常使用
jquery ajax结构不规范到时再ie8以下的用户不能正常使用.比如[1,2,].{1,2,},结构内部的最后不能有“,”.
- SGU 242. Student's Morning( 网络流 )
看英文题真是麻烦...理解题意花的时间比想的时间还长...裸的网络流, 我们只要限制每个人出发流量为1, 每个大学进入的流量至多为2即可, 相当于构造可行解. -------------------- ...