博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发UI篇—transframe属性(形变)
阅读量:4915 次
发布时间:2019-06-11

本文共 1316 字,大约阅读时间需要 4 分钟。

1. transform属性

在OC中,通过transform属性可以修改对象的平移、缩放比例和旋转角度

常用的创建transform结构体方法分两大类

(1) 创建“基于控件初始位置”的形变

CGAffineTransformMakeTranslation(平移)

CGAffineTransformMakeScale(缩放)

CGAffineTransformMakeRotation(旋转)

 

(2) 创建“基于transform参数”的形变

CGAffineTransformTranslate

CGAffineTransformScale

CGAffineTransformRotate

 

补充:

在OC中,所有跟角度相关的数值,都是弧度值,180° = M_PI

正数表示顺时针旋转

负数表示逆时针旋转

 

提示:由于transform属性可以基于控件的上一次的状态进行叠加形变,例如,先旋转再平移。因此在实际动画开发中,当涉及位置、尺寸形变效果时,大多修改控件的transform属性,而不是frame、bounds、center 。

 

2.主要代码

//位移(不累加)234     //self.headImageView.transform=CGAffineTransformMakeTranslation(50, 200);235     //缩放236     //self.headImageView.transform=CGAffineTransformMakeScale(1.2, 10);237     //在原有的基础上位移(是累加的)238     //self.headImageView.transform=CGAffineTransformTranslate(self.headImageView.transform, 50, 50);239     //在原有的基础上进行缩放240     //self.headImageView.transform=CGAffineTransformScale(self.headImageView.transform, 1.5, 1.6);241     242     //在原有的基础上进行旋转243     if (rotate.tag) {244         //旋转角度为1/pi,逆时针245         self.headImageView.transform=CGAffineTransformRotate(self.headImageView.transform, -M_1_PI);246     }247     else248     {249         //旋转的角度为pi/2,顺时针250     self.headImageView.transform=CGAffineTransformRotate(self.headImageView.transform, M_PI_2);251     }

转载于:https://www.cnblogs.com/lege-Fool-Brid/p/4660913.html

你可能感兴趣的文章
php读取不到https的域名
查看>>
2018-01-11 Antlr4实现数学四则运算
查看>>
centos7上基于kubernetes的docker集群管理
查看>>
【转】七个受用一生的心理寓言
查看>>
nginx
查看>>
自制密码管理系统
查看>>
成功者所应具有的九大素质
查看>>
学习爬虫:《Python网络数据采集》中英文PDF+代码
查看>>
多态、抽象类、接口、区别(java基础知识九)
查看>>
.NET笔试题集(二)
查看>>
原码, 反码, 补码 详解
查看>>
BZOJ4154 : [Ipsc2015]Generating Synergy
查看>>
我的一个小App——谈天气
查看>>
【DevExpress v17.2新功能预告】DevExtreme TreeList
查看>>
Fitnesse框架介绍(一)
查看>>
Codeforces Round #FF (Div. 2) 题解
查看>>
Mysql Programming CS 155P笔记(三)
查看>>
我的感情,仍是如此,卦卦如此
查看>>
这样一套操作要练习多久
查看>>
linux系统管理(1)之 内核编译选项查看
查看>>