CGAffineTransformMakeRotation 实现旋转
- UIImageView *image = [[UIImageView alloc]init];
- image.frame = CGRectMake(50, 50, 200, 200);
- image.image = [UIImage imageNamed:@"460.jpg"];
- [self.view addSubview:image];
- CGAffineTransform transform= CGAffineTransformMakeRotation(M_PI*0.38);
- /*关于M_PI
- #define M_PI 3.14159265358979323846264338327950288
- 其实它就是圆周率的值,在这里代表弧度,相当于角度制 0-360 度,M_PI=180度
- 旋转方向为:顺时针旋转
- */
- image.transform = transform;//旋转
我们可以因此而实现360度 不停的旋转,利用 NSTimer实现角度的不断变化(每0.01s改变一次角度),从而实现不停旋转
- [self.view setBackgroundColor:[UIColor redColor]];//设置背景为红色,效果直观明显
- [NSTimer scheduledTimerWithTimeInterval: 0.01 target: self selector:@selector(transformAction) userInfo: nil repeats: YES];
改变角度的方法:
- -(void)transformAction {
- angle = angle + 0.01;//angle角度 double angle;
- if (angle > 6.28) {//大于 M_PI*2(360度) 角度再次从0开始
- angle = 0;
- }
- CGAffineTransform transform=CGAffineTransformMakeRotation(angle);
- self.view.transform = transform;
- }
CGAffineTransformMakeRotation 实现旋转的更多相关文章
- iOS开发系列--无限循环的图片浏览器
--UIKit之UIScrollView 概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件 ...
- iOS开发UI篇—transframe属性(形变)
iOS开发UI篇—transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两 ...
- transform属性
transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度常用的创建transform结构体方法分两大类 (1) 创建“基于控件初始位置”的形变 CGAffin ...
- iOS开发——UI篇OC&transform详解
transframe属性详解 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两大类 (1) 创建“基 ...
- (二十八)QQ好友列表的展开收缩
要通过监听HeaderView上面的Button来进行操作: 通过addTarget方法即可,应该将按钮的点击方法封装在HearView控制器内部. 列表收起来的原理: tableView: numb ...
- iOS transform属性的使用
1.transform属性 在iOS开发中,通过transform属性可以修改UIView对象的平移.缩放比例和旋转角度,常用的创建transform结构体方法分两大类 (1) 创建“基于控件初始位置 ...
- UIView的transform
iOS开发UIView的transform属性详解 本文主要是详解iOS开发UIView的transform属性 CGAffineTransform实际上是一个矩阵 | a, b, 0 | | c ...
- iOS UI-三种简单的动画设置
一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView beginAnimations:nil context:nil]; //设置动画时长 ...
- IOS UI-Button按钮
#import "ViewController.h" @interface ViewController () { UILabel *lable; BOOL moveFlag; N ...
随机推荐
- VUE 表单元素双向绑定总结
checkbox最基本用法: <input type="checkbox" v-model="inputdata" checked/> <in ...
- C# 解析html —— 将html转为XHTML,然后利用Xml解析
呵呵,由于正则不熟,所以另谋出路——利用XML去解析html. 要想将抓取到的数据(直接抓取到的是byte[]) 转为XML文档(即XMLDocument对象),有两个要点: 一.判断编码(http ...
- 求SQL语句递归的算法
表结构是这样的 部门 上级部门 A BB CC DA AB BC C ...
- Java并发编程:synchronized
Java并发编程:synchronized 虽然多线程编程极大地提高了效率,但是也会带来一定的隐患.比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据.今天我们就 ...
- 设置Xshell中支持中文
执行echo $LANG命令输出的是当前的编码方式,执行locale命令得到系统中所有可用的编码方式.要让Xshell不显示乱码,则要将编码方式改为UTF-8. 在Xshell中[file]-> ...
- springmvc(3)拦截器HandlerInterceptor源码的简单解析
其实拦截器就是我们的AOP编程.拦截器在我们的实际项目中实用性比较大的,比如:日志记录,权限过滤,身份验证,性能监控等等.下面就简单的来研究一下拦截器: public interface Handle ...
- apache tiles 页面模板的使用
jar包maven <!-- Tiles 模板--> <dependency> <groupId>org.apache.tiles</groupId> ...
- poj-1703-Find them, Catch them
Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 41928 Accepted: ...
- ServletContext与网站计数器
什么是ServletContext? ServletContext是服务器的一个公用的空间,是不同的浏览器共享的一个数据. 由图可以看出ServletContext和Cookie与session之间的 ...
- java多线程-同步块
Java 同步块(synchronized block)用来标记方法或者代码块是同步的.Java 同步块用来避免竞争.本文介绍以下内容: Java 同步关键字(synchronzied) 实例方法同步 ...