CGAffineTransformMakeTranslation和CGAffineTransform
1.CGAffineTransformMakeTranslation每次都是以最初位置的中心点为起始参照
CGAffineTransformTranslate每次都是以传入的transform为起始参照
CGAffineTransformIdentity为最初状态,即最初位置的中心点
2.3个按钮,bt1,bt2,bt3,bt1和bt2控制bt3的移动
- (IBAction)bt1clicked:(id)sender {
self.bt3.transform = CGAffineTransformMakeTranslation(10, 0);
}
- (IBAction)bt2clicked:(id)sender {
//self.bt3.transform = CGAffineTransformTranslate(CGAffineTransformIdentity, 10, 0);
self.bt3.transform = CGAffineTransformTranslate(self.bt3.transform, 10, 0);
}
点击bt1,第一次移动10个像素,以后都是以最初位置的中心点为起始参照,所以后续bt1无论点击多少次,按钮都在初始位置偏移10个像素的位置不动
点击bt1一次,再点击bt2一次,偏移20像素,点击bt2时,上一次按钮点击的偏移作为这次的参照
只点击bt2一次,偏移10个像素
不断点击bt2,bt3不断偏移10个像素
bt2clicked的第一句不注释:
第一次点击bt2,bt3偏移20,后续再点击,永远再第一次点击后的位置,再点击bt1,回到初始偏移10的位置(往回走了10)
点击bt1,偏移10,再点击bt2,在bt1点击基础上再偏移10,后续再点击不动( CGAffineTransformTranslate(CGAffineTransformIdentity, 10, 0);每次都是从最初位置开始偏移)
CGAffineTransformMakeTranslation和CGAffineTransform的更多相关文章
- 二维码之qrencode生成(带logo)
从github下载的qrencode没有QRCodeGenerator文件,需要引入 // // QR Code Generator - generates UIImage from NSString ...
- ios开发之 -- UIView总结
如果想调用某个类的某个方法可以写成这样,这个方法来自NSObject类 performSelector: performSelector:withObject: performSelector:wit ...
- 使用iOS-QR-Code-Encoder 生成二维码
一:所需类库 iOS-QR-Code-Encoder 官网主页:https://github.com/moqod/iOS-QR-Code-Encoder 导入:QuartzCore.framework ...
- CGAffineTransform
这个是CoreGraphics框架中的CGAffineTransform类,可用于设定UIView的transform属性.控制视图的缩放.旋转和平移操作.另称仿射变换矩阵. Quartz转换实现原理 ...
- CGAffineTransform方法汇总
CGAffineTransform是二维的仿射变换,可以进行位移,旋转,缩放,CGAffineTransform实际上是一个矩阵. CGAffineTransform { CGFloat a, b, ...
- iOS方法类:CGAffineTransform的使用大概
CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,控制视图的缩放.旋转和平移操作: 另称放射变换矩阵,可参照线性代数的矩阵实现方式0. ...
- CGAffineTransform与CATransform3D
CGAffineTransform 1.CG的前缀告诉我们,CGAffineTransform类型属于Core Graphics框架,Core Graphics实际上是一个严格意义上的2D绘图API, ...
- iOS基础CGAffineTransform的简单使用
CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,控制视图的缩放.旋转和平移操作: 另称放射变换矩阵,可参照线性代数的矩阵实现方式0. ...
- CGAffineTransform相关函数
CoreGraphics.h CGAffineTransform rotation = CGAffineTransformMakeRotation(M_PI_2); [xxx setTransform ...
随机推荐
- 高级正则表达式技术(Python版)
正则表达式是从信息中搜索特定的模式的一把瑞士军刀.它们是一个巨大的工具库,其中的一些功能经常被忽视或未被充分利用.今天我将向你们展示一些正则表达式的高级用法. 举个例子,这是一个我们可能用来检测电话美 ...
- mybatis系列-15-查询缓存
15.1 什么是查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能. mybaits提供一级缓存,和二级缓存. 一级缓存是SqlSession级别的缓存.在操作数据库时需要 ...
- HUE 安装
1.从github网下载hue-master.zip (源代码包) 地址:https://github.com/cloudera/hue#development-prerequisites 2.安装依 ...
- wpf4 文字 模糊 不清晰 解决方法
在窗口或控件上设置字体属性就可以了,如下:<UserControl x:Class="..." xmlns="http://schemas. ...
- Hadoop学习笔记(6) ——重新认识Hadoop
Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...
- QCon 2013 上海 -- 高并发可用
高并发可用应该是这次QCon的主要议题,目测超过一半的话题都在讨论这个主题或者和这个主题相关.看到Yun关于AWS re:Invent的总结,好像这个在AWS上也是很热的一个主题.就我个人而言,没 ...
- [转]iSCSI完全指南
[转]iSCSI完全指南 Posted on 2008-04-01 18:57 Tony Zhang 阅读(2102) 评论(0) 编辑 收藏 引:在上世纪末.本世纪初,一提到SAN(Storage ...
- Clean Code第二章<命名>
1.命名要有意义 错误写法 正确写法 2.某些构造函数可以提供有意义的静态方法去实现
- <转>Linux环境进程间通信(三)
原文链接:http://www.ibm.com/developerworks/cn/linux/l-ipc/part3/index.html 原文内容: 消息队列(也叫做报文队列)能够克服早期unix ...
- Mac配置JAVA_HOME
首先打开终端,输入/usr/libexec/java_home,看到 /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home 说 ...