iOS UI基础-2.0按钮操作与形变

按钮状态
/**
frame属性,通常用于实例化控件,指定初始位置 如果需要改变控件位置,可以使用center属性
如果需要改变控件大小,可以使用bounds属性
*/
- (IBAction)move:(UIButton *)button
{
// 提示,也可以通过center修改位置,可以课后练习
CGPoint center = self.iconButton.center; // 2. 根据按钮的类型tag,判断移动的方向,再修改结构体的成员
// magic number魔法数字
switch (button.tag) {
case kMovingDirTop: // 上
center.y -= 10.0f;
break;
case kMovingDirBottom: // 下
center.y += 10.0f;
break;
case kMovingDirLeft: // 左
center.x -= 10.0f;
break;
case kMovingDirRight: // 右
center.x += 10.0f;
break;
} // 3. 重新为对象的结构体属性赋值
self.iconButton.center = center; NSLog(@"%@", NSStringFromCGRect(self.iconButton.frame));
}
transform使用
// 向上移动
- (IBAction)top:(UIButton *)sender {
// 1.transform是相对于初始状态的一种状态,但是其实self.head.frame.origin的值已经被改变了
// self.head.transform = CGAffineTransformMakeTranslation(0, self.head.transform.ty - 20); // 2.使用原有的transform生成新的transform
self.head.transform = CGAffineTransformTranslate(self.head.transform, , -);
}
2.尺寸变化
// 缩小
- (IBAction)narrow:(UIButton *)sender {
// 缩小20%
self.head.transform = CGAffineTransformScale(self.head.transform, 0.8, 0.8);
}
3.旋转
/** 旋转 */
- (IBAction)rotate:(UIButton *)button
{
// 在OC的开发中,关于角度统一都使用弧度值,逆时针是负值,顺时针是正值
// 180° = M_PI
CGFloat angle = (button.tag) ? -M_PI_4 : M_PI_4; [UIView beginAnimations:nil context:nil];
self.iconButton.transform = CGAffineTransformRotate(self.iconButton.transform, angle);
[UIView commitAnimations]; }
iOS UI基础-2.0按钮操作与形变的更多相关文章
- iOS UI基础-8.0 UIAlertView使用
弹出框的使用 1.实现代理UIAlertViewDelegate 2.弹出框 // 弹框初始化 UIAlertView *alert = [[UIAlertView alloc] initWithTi ...
- iOS UI基础-9.0 UITableView基础
在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView.UITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳. UITableView有两种样式: ...
- iOS UI基础-4.0应用程序管理
功能与界面 功能分析: 以九宫格的形式展示应用信息 点击下载按钮后,做出相应的操作 步骤分析: 加载应用信息 根据应用的个数创建对应的view 监听下载按钮点击 整个应用界面: 程序实现 思路 UI布 ...
- iOS UI基础-16.0 UIButton
回归自然,UIButton是我们使用最频烦的一个控件.下面,对该控件的一些常用方法进行一些总结. UIButton *payStateBtn = [UIButton buttonWithType:UI ...
- iOS UI基础-17.0 UILable之NSMutableAttributedString
在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求.之前在网上找了一些资料,有的是重绘UILabel的textLayer,有的是用html5实现的,都比较麻烦 ...
- iOS UI基础-12.0 Storyboard
storyboard创建控制器 1.先加载storyboard文件(Test是storyboard的文件名) UIStoryboard *storyboard = [UIStoryboard stor ...
- iOS UI基础-10.0 QQ聊天布局之键盘及文本使用
要实现的效果: 这里只说用到的几个知识点 1.图片包含文字 在设置文字的Frame的时候,使用背景(按钮)的尺寸,文字使用了内边距 背景图片,使用拉伸 /** * 返回一张可以随意拉伸不变形的图片 ...
- iOS UI基础-7.0 UIScrollView
概述 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限.当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容,普通的UIView不具备滚动功能,不能显示过多的 ...
- iOS UI基础-6.0 UIActionSheet的使用
UIActionSheet是在iOS弹出的选择按钮项,可以添加多项,并为每项添加点击事件. 使用 1.需要实现UIActionSheetDelegate 协议 @interface NJWisdom ...
随机推荐
- 使用 CSS MARK 改变 SVG 背景色
CSS masks -webkit-mask 这个属性是相当强大的,详细的介绍请到这里查看,它非常值得深入研究. -webkit-mask 让为一个元素添加蒙板成为可能,从而你可以创建任意形状的花样. ...
- OpenStack入门之【OpenStack-havana】之单网卡-All In One 安装(基于CentOS6.4)
这篇文章是自己的一篇老文,分享下,请君慢用.... =========================================== [特别申明]:经过了一段时间的不断学习加不断的测试得出本文, ...
- linux下的一些操作命令
1.切换到root账号下: su root 输入密码: 2.修改root账号密码: sudo passwd root 输入密码: 3.cat用法: 查看文件内容 cat 文件名 创建文件 ...
- maven用变量的方法统一管理jar包版本
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- 【咸鱼教程】一个简单的弹出二级菜单UIPopupMenu
一. 实际效果 演示地址 二.实现原理主要用Button+List组件,和遮罩实现. 1. 点击Button时,将List下移展开.2. 再次点击Button,或者选中List中的某一项时,将List ...
- jQuery的ajax跨域 Jsonp原理
1.Jsonp Jsonp(json with padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题. Jsonp是为了解决ajax跨域发送http请求出现的,利用S ...
- 关于在Linux下apache-maven的安装
本文所涉及到的软件如下:jdk版本号:1.7.0_45apache-maven版本号:3.1.1 apache-maven的安装过程如下: apache-maven的官方网址:http://maven ...
- jfinal如何获取参数为数组的值
前台: var postParams = { ids:["qw","ew"]}; 后台: String[] userids = this.getParaValu ...
- Centos6.5安装mysql 5.7
1.在官网下载安装包:https://dev.mysql.com/downloads/mysql/5.7.html#downloads mysql-5.7.10-linux-glibc2.5-x86_ ...
- 9.20 session
2018-9-20 13:14:40 Cookie session 参考 :http://www.cnblogs.com/liwenzhou/p/8343243.html 类视图 cbv 注册 ur ...