自我总结- CGAffineTransform
在应用中我们经常需要做一些仿射变换 可以用于 平移、旋转、缩放变换路径;
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的更多相关文章
- iOS总结_UI层自我复习总结
UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...
- 拨开迷雾,找回自我:DDD 应对具体业务场景,Domain Model 到底如何设计?
写在前面 除了博文内容之外,和 netfocus 兄的讨论,也可以让你学到很多(至少我是这样),不要错过哦. 阅读目录: 迷雾森林 找回自我 开源地址 后记 毫无疑问,领域驱动设计的核心是领域模型,领 ...
- 《web全栈工程师的自我修养》读书笔记
有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...
- CGAffineTransform
这个是CoreGraphics框架中的CGAffineTransform类,可用于设定UIView的transform属性.控制视图的缩放.旋转和平移操作.另称仿射变换矩阵. Quartz转换实现原理 ...
- JavaScript之自我总结篇
最近在看汤姆大叔的"深入理解JavaScript系列",写得真的不错,对于我而言特别是12章到19章,因为大叔研究的点,就主要是从底层来研究JavaScript为什么会出现钟种特有 ...
- WCF服务自我寄宿 Windows服务
WCF寄宿有自我寄宿跟IIS寄宿 服务代码: [ServiceContract] ---服务契约 public interface ICustomerService { [OperationContr ...
- 20155229-付钰涵-分析自我技能延展到c语言学习状况
我的小技能 我记得幼儿园时表演的舞蹈,也记得从水彩到素描的学习,还记得小学和初中获得的钢琴省级奖项. 舞蹈止于一年级,绘画止于三年级,钢琴从学前班到高一那十年的时间里有过断续. 03年-04年的那个冬 ...
- 转载:Scalers:要持续行动,不要自我感动
转载自微信公众号:http://mp.weixin.qq.com/s?__biz=MzA4MjIyNDYzMQ==&mid=2650846277&idx=1&sn=5d832a ...
- <转>exe & dll自我更新
exe & dll自我更新 分类: c/c++ 2008-10-16 22:07 756人阅读 评论(1) 收藏 举报 exedlldelayapi游戏 exe与dll的自我更新 在改 ...
随机推荐
- sql查询 ,多行数据合并成一行,并且显示合并后某一列的值拼接结果
select [value] = stuff((select ','+modmb003 from modmb detail where modmb=18 for xml path('')), 1, ...
- react Native 运行报错之一 gradle-2.14.1-all解压失败的问题
在react-native run-android 时 可能出现压缩包不成功的情况,原因是压缩包失败,需要手动解压到相应目录, 目录:C:\Users\Administrator\.gradle\w ...
- 003为什么shell的配置文件那么繁琐?
Bash的设置之所以如此繁琐,是由于历史原因造成的.早期的时候,计算机运行速度很慢,载入配置文件需要很长时间,Bash的作者只好把配置文件分成了几个部分,阶段性载入. 系统的通用设置放在 /etc/p ...
- [Machine Learning with Python] Data Preparation by Pandas and Scikit-Learn
In this article, we dicuss some main steps in data preparation. Drop Labels Firstly, we drop labels ...
- 【Spring源码解析】—— 简单工厂模式的BeanFactory的超简版实现
一.什么是简单工厂模式 设计模式的核心是“分工”,通过分工将对象与职责划分的更细化,进而提升系统设计的可扩展性,使其更容易维护. 开闭原则:对扩展开放,对修改关闭:要增加一个新的处理逻辑,可以开一个新 ...
- 比JSONKit还要快的第三方JSON解析器NextiveJson
这款比JSONKit还好用,效率跟iOS5原生的差不多,不过解析后对内存的释放比原生的要多.所以推荐 https://github.com/nextive/NextiveJson 顺便提一下解析XML ...
- iOS开发 总结几种传值--extern,NSUserDefaults,Delegate
1 设置委托(代理模式) 建一个委托testViewDelegate.h #import//b中的参数传到a//设置委托方法,例如本文件//在b中.h描述NSObject * deleg ...
- Blocks编程要点
[老狼推荐]Blocks编程要点原文:Blocks Programming Topics链接:http://developer.apple.com/library/ios/#documentation ...
- 终于会用c#中的delegate(委托)和event(事件)了 [转]
原文 : http://www.cnblogs.com/zhangchenliang/archive/2012/09/19/2694430.html 一.开篇忏悔 对自己最拿手的编程语言C#,我想对你 ...
- DesignSurface简介
The Perfect Host: Create And Host Custom Designers With The .NET Framework 2.0 Dinesh Chandnani - 三月 ...