transfrom可以实现一些形变。常见的有平移、缩放和旋转三种。使用起来很简单:

//横纵放大1.3倍
self.imageButton.transform=CGAffineTransformScale(self.imageButton.transform, 1.3, 1.3);
//逆时针旋转180度 (加上y0.000001是因为旋转180°会默认顺时针)
self.imageButton.transform=CGAffineTransformRotate(self.imageButton.transform, -M_PI+0.000001);
 //平移
self.imageButton.transform=CGAffineTransformTranslate(self.imageButton.transform, 100, 0);

以上都是保存了形变的状态的。如果单独使用不会有问题。但是当我们旋转后再平移的话就发现不是我们想要的结果。如果我们顺时针旋转45度,再向X轴平移100点,那么再界面上就是斜着平移了100点。这是因为transfrom是通过更改坐标系来实现形变的。所以使用时应注意。

transfrom属性的更多相关文章

  1. css3 transfrom使用以及其martix(矩阵)属性与其它属性的关系

    写法 其属性martix与skew .scale .translate之间的关系   兼容性 :       IE9+ : -ms-transform :  IE9只支持2D转换       fire ...

  2. 【CSS进阶】伪元素的妙用--单标签之美

    最近在研读 <CSS SECRET>(CSS揭秘)这本大作,对 CSS 有了更深层次的理解,折腾了下面这个项目: CSS3奇思妙想 -- Demo (请用 Chrome 浏览器打开,非常值 ...

  3. 快速上手RaphaelJS--Instant RaphaelJS Starter翻译(二)

    (目前发现一些文章被盗用的情况,我们将在每篇文章前面添加原文地址,本文源地址:http://www.cnblogs.com/idealer3d/p/Instant_RaphaelJS_Starter2 ...

  4. SVG裁剪和平移的顺序

    SVG 里为元素添加 clip-path 属性即可做出裁剪效果,添加 transfrom 属性可以平移.旋转元素. 根据需求不同,有两种情况: 先裁剪元素,再把裁剪后的图形平移 先平移元素,再按区域裁 ...

  5. Unity3D之空间转换学习笔记(一):场景物体变换

    该系列笔记基于Unity3D 5.x的版本学习,部分API使用和4.x不一致. 目前在Unity3D中,除了新的UGUI部分控件外,所有的物体(GameObject)都必带有Transform组件,而 ...

  6. 在图层上使用CATransform3D制做三维动画-b

    在UIView上,我们可以使用CGAffineTransform来对视图进行:平移(translation),旋转(Rotation),缩 放(scale),倾斜(Invert)操作,但这些操作是没有 ...

  7. IOS视图旋转可放大缩小

    - (IBAction)hideBut:(id)sender { if (self.flg) { [UIView animateWithDuration:0.3 animations:^{ self. ...

  8. 三种纯CSS实现三角形的方法

    看到像上图这样的 tip 的小三角,你会怎么办? 切个图上去?恩,不错,简单,兼容性也一级棒,不但好控制,那点小东西也增加不了多少图片的大小.但有没有更好更讲究技巧的办法呢?哈哈,那必须有啊,而且还不 ...

  9. (二十八)QQ好友列表的展开收缩

    要通过监听HeaderView上面的Button来进行操作: 通过addTarget方法即可,应该将按钮的点击方法封装在HearView控制器内部. 列表收起来的原理: tableView: numb ...

随机推荐

  1. Problem - 433C - Codeforces解题报告

    对于这题本人刚开始的时候的想法是:先把最大两数差的位置找到然后merge计算一个值再与一连串相同的数做merge后计算一个值比较取最大值输出:可提交后发现不对,于是本人就搜了一下正解发现原来这题的正确 ...

  2. IE9以下版本浏览器对HTML5新增标签不识别,导致CSS不起作用的问题

    使用Javascript来使不支持HTML5的浏览器支持HTML标签.目前大多网站采用的这种方式(Bootcss官方例子也是如此). 在<head></head>标签内添加 2 ...

  3. Casio普通计算器编程

    用xelatex写了个奇怪的东西……欢乐向 PDF  http://files.cnblogs.com/htfy/calc.pdf TEX http://files.cnblogs.com/htfy/ ...

  4. url 编码方法

    这个方法用于把 字符串转换成url 的编码 第一个参数是 字符串,第二个参数是 指定的编码(UTF-8 ,GBK, gbk2312...) private string UrlEncode(strin ...

  5. HTML的id,name,class

    HTML中的id是给JavaScript用的(document.getElementById()) HTML中的name是给JavaScript用的(formUploadFile.submit()) ...

  6. 使用Git push时出现的一些问题处理

    1.第一个问题 Permission denied (publickey). fatal: Could not read from remote repository. Please make sur ...

  7. SIGGRAPH

    这两天看了一些文章,今天来说说SIGGRAPH. 对于搞图形学的人来说,SIGGRAPH绝对是如雷贯耳.SIGGRAPH是计算机图形界(也包含图像)最顶级的会议,没有之中的一个,是全世界的图形学者公认 ...

  8. Linux下用来获取各种系统信息的C++类

    #include <vector> #include "sys/config.h" SYS_NAMESPACE_BEGIN /*** * 用来获取系统.内核和进程的各类 ...

  9. mac jdbc连接mysql

    1.下载jdbc驱动: http://dev.mysql.com/downloads/connector/j/ 2.增加jdbc的jar包至项目的libs文件夹并build path 2.改动环境变量 ...

  10. ORACLE ------MYSQL2014 大会 PPT

    https://oracleus.activeevents.com/2014/connect/focusOnDoc.do?focusID=17888