在应用中我们经常需要做一些仿射变换 可以用于 平移、旋转、缩放变换路径;

View有一个属性transform 可以指定一个 CGAffineTransform 即可完成仿射变换

1.平移变换

//  x方向移动一百 y不动
CGAffineTransform transform= CGAffineTransformMakeTranslation(,);
// viewanmination是需要进行变换的View
self.viewanmination.transform=transform
// 系统提供了一个便利方法直接指定 两种方法效果一样 // CGAffineTransformTranslate(<#CGAffineTransform t#>, <#CGFloat tx#>, <#CGFloat ty#>) // self.viewanmination.transform=CGAffineTransformTranslate(self.viewanmination.transform, 100, 0);

2 缩放

//x方向缩小0.5 y缩小0.5
CGAffineTransform transt= CGAffineTransformMakeScale(0.5, 0.5);
self.viewanmination.transform=transt; self.viewanmination.transform=CGAffineTransformScale(self.viewanmination.transform, 0.5, 0.5);

3 旋转

//输入需要旋转的角度
CGAffineTransform trans=CGAffineTransformMakeRotation(M_PI_4);
self.viewanmination.transform=trans;
self.viewanmination.transform=CGAffineTransformRotate(self.viewanmination.transform, M_PI_4);

当然这三种效果也可以组合着用 需要借助CGAffineTransformIdentity 这个理解为初始化即可 如下代码实现了旋转和缩放

//初始化坐标
CGAffineTransform trans=CGAffineTransformIdentity;
//旋转;
trans=CGAffineTransformRotate(trans, M_PI_4);
// 缩放
trans=CGAffineTransformScale(trans, 0.5, 0.4);
self.viewanmination.transform=trans;

自我总结- CGAffineTransform的更多相关文章

  1. iOS总结_UI层自我复习总结

    UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...

  2. 拨开迷雾,找回自我:DDD 应对具体业务场景,Domain Model 到底如何设计?

    写在前面 除了博文内容之外,和 netfocus 兄的讨论,也可以让你学到很多(至少我是这样),不要错过哦. 阅读目录: 迷雾森林 找回自我 开源地址 后记 毫无疑问,领域驱动设计的核心是领域模型,领 ...

  3. 《web全栈工程师的自我修养》读书笔记

    有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...

  4. CGAffineTransform

    这个是CoreGraphics框架中的CGAffineTransform类,可用于设定UIView的transform属性.控制视图的缩放.旋转和平移操作.另称仿射变换矩阵. Quartz转换实现原理 ...

  5. JavaScript之自我总结篇

    最近在看汤姆大叔的"深入理解JavaScript系列",写得真的不错,对于我而言特别是12章到19章,因为大叔研究的点,就主要是从底层来研究JavaScript为什么会出现钟种特有 ...

  6. WCF服务自我寄宿 Windows服务

    WCF寄宿有自我寄宿跟IIS寄宿 服务代码: [ServiceContract] ---服务契约 public interface ICustomerService { [OperationContr ...

  7. 20155229-付钰涵-分析自我技能延展到c语言学习状况

    我的小技能 我记得幼儿园时表演的舞蹈,也记得从水彩到素描的学习,还记得小学和初中获得的钢琴省级奖项. 舞蹈止于一年级,绘画止于三年级,钢琴从学前班到高一那十年的时间里有过断续. 03年-04年的那个冬 ...

  8. 转载:Scalers:要持续行动,不要自我感动

    转载自微信公众号:http://mp.weixin.qq.com/s?__biz=MzA4MjIyNDYzMQ==&mid=2650846277&idx=1&sn=5d832a ...

  9. <转>exe & dll自我更新

    exe & dll自我更新 分类: c/c++ 2008-10-16 22:07 756人阅读 评论(1) 收藏 举报 exedlldelayapi游戏 exe与dll的自我更新     在改 ...

随机推荐

  1. hdu3452 无向树去掉最小的边集使任何叶子与根不连通 / 最小割

    思路一下就上来了,叶子向汇点连边,inf保证不会成为割,跑根到汇点最小割即可.注意无向树双向建边.基础题,分分钟1A: #include<iostream> #include<que ...

  2. bytearray和file的后端上传方式

    public static String readAndUpload(String serverpath,String imgid) { if(serverpath==null){ serverpat ...

  3. Codeforces 703D Mishka and Interesting sum(离线 + 树状数组)

    题目链接  Mishka and Interesting sum 题意  给定一个数列和$q$个询问,每次询问区间$[l, r]$中出现次数为偶数的所有数的异或和. 设区间$[l, r]$的异或和为$ ...

  4. HDU——最大连续子序列(区间DP)

    上一个题的加强版! 最大连续子序列 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  5. 2016集训测试赛(二十六)Problem A: bar

    Solution 首先审清题意, 这里要求的是子串而不是子序列... 我们考虑用1表示p, -1表示j. 用sum[i]表示字符串前\(i\)的前缀和. 则我们考虑一个字符串\([L, R]\)有什么 ...

  6. 2016北京集训测试赛(十六)Problem C: ball

    Solution 这是一道好题. 考虑球体的体积是怎么计算的: 我们令\(f_k(r)\)表示\(x\)维单位球的体积, 则 \[ f_k(1) = \int_{-1}^1 f_{k - 1}(\sq ...

  7. Office 2016 安装你所必须要注意的事项

    坑主要是,Office 2016专业增强不能自定义安装路径,不能选择需要安装的产品组件(不能取消outlook, onenote等垃圾组件). 软件的下载可以在百度上搜索,cn_office_prof ...

  8. 如何让你的网页加载时间降低到 1s 内

    当初分析了定宽高值和定宽高比这两种常见的图片延迟加载场景,也介绍了他们的应对方案,还做了一点技术选型的工作. 经过一段时间的项目实践,在先前方案的基础上又做了很多深入的优化工作.最终将好奇心日报的网页 ...

  9. Android - EditText 注意(缺少字符)

    EditText 注意(缺少字符) 本文地址:http://blog.csdn.net/caroline_wendy EditText使用监听(Listener)addTextChangedListe ...

  10. Linux内核——内存管理

    内存管理 页 内核把物理页作为内存管理的基本单位.内存管理单元(MMU,管理内存并把虚拟地址转换为物理地址)通常以页为单位进行处理.MMU以页大小为单位来管理系统中的页表. 从虚拟内存的角度看,页就是 ...