怎样实现UIView的旋转
首先创建界面,在viewDidLoad创建view以及button
相关代码如下
-(void)viewDidLoad
{
[super viewDidLoad];
viewDemo = [[UIView alloc] initWithFrame:CGRectMake(0, 50, 320, 50)];
[viewDemo setBackgroundColor:[UIColor brownColor]];
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 50)];
label.text =@"Test";
label.tag=100;
[viewDemo addSubview:label];
[self.view addSubview:viewDemo];
[label release];
// Do any additional setup after loading the view, typically from a nib.
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 400, 100, 50)];
[btn setBackgroundColor:[UIColor blueColor]];
btn.showsTouchWhenHighlighted = YES;
[btn setTitle:@"点击旋转" forState:UIControlStateNormal];
[self.view addSubview:btn];
btn.tag = 10010;
[btn addTarget:self action:@selector(testViewDemo) forControlEvents:UIControlEventTouchUpInside];
[btn release];
number = 0;
}
-(void)testViewDemo
{
number++;
if (number%3 == 0) {
CGAffineTransform at = CGAffineTransformMakeRotation(M_PI/2);
at = CGAffineTransformTranslate(at, 200, 0);
[viewDemo setTransform:at];
}else if (number%3 ==1 ){
CGAffineTransform at = CGAffineTransformMakeRotation(M_PI/1);
at = CGAffineTransformTranslate(at, 0, 0);
[viewDemo setTransform:at];
}else if(number%3 ==2){
CGAffineTransform at = CGAffineTransformMakeRotation(M_PI*2);
at = CGAffineTransformTranslate(at, 0, 0);
[viewDemo setTransform:at];
}
}
-(void)testViewDemo
{
//旋转,左旋
number++;
CGAffineTransform rotate = CGAffineTransformMakeRotation(number / 180.0 * M_PI );
[viewDemo setTransform:rotate];
}
如果使用此方法连续点击button就可以显示处一点一点的移动效果
每次旋转90度的话可以使用一下的代码实现效果
-(void)testViewDemo
{
//旋转,右旋
number = number+90.0;
CGAffineTransform rotate = CGAffineTransformMakeRotation(number / 180.0 * M_PI );
[viewDemo setTransform:rotate];
}
UIView实现左旋效果
//旋转,左旋
number = number-90.0;
CGAffineTransform rotate = CGAffineTransformMakeRotation(number / 180.0 * M_PI );
[viewDemo setTransform:rotate];
通过以上的讲解,我想,关于点击UIButton实现UIView的旋转大家就可以轻松的操作了。
传送门:
http://jingyan.baidu.com/article/3aed632e7164b070108091de.html
怎样实现UIView的旋转的更多相关文章
- UIView 的旋转和缩放
原文地址:http://www.cnblogs.com/gaoxiao228/archive/2012/05/04/2483577.html label.transform = CGAffineTra ...
- UIView动画效果之----翻转.旋转.偏移.翻页.缩放.取反的动画效
翻转的动画 //开始动画 [UIView beginAnimations:@"doflip" context:nil]; //设置时常 [UIView setAnimationDu ...
- View页面内容的旋转,在某些情况下可替代屏幕旋转使用
这个是在做小秘书的体重曲线图的时候用到的,横排的时候可以多显示些内容,可是由于很多未知的冲突导至屏幕旋转起来非常麻烦,可用用旋转页面的内容来达到旋转屏幕的效果. 代码如下: //旋转90度 CGAff ...
- ios开发--旋转、移动、缩放手势实例代码
代码如下: // 添加所有的手势 - (void) addGestureRecognizerToView:(UIView *)view { // 旋转手势 UIRotationGestureRecog ...
- UIView的基本属性及ANimation
frame属性:可以使用该属性改变尺寸和位置 相对于父视图bounds:改变尺寸 相对自身center:改变视图的位置alpha:改变视图的透明度backgroundColor:改变视图的背景cont ...
- 使用手势对UIImageView进行缩放、旋转和移动
// 添加所有的手势 - (void) addGestureRecognizerToView:(UIView *)view { // 旋转手势 UIRotationGestureRecognizer ...
- 旋转动画用控件RotateView
旋转动画用控件RotateView 最终效果: 源码: RotateView.h 与 RotateView.m // // RotateView.h // RotateAnimationView // ...
- 使用手势对UIImageView进行缩放、旋转和移动(转)
原文地址:http://blog.csdn.net/crazy_frog/article/details/8664108 // 添加所有的手势 - (void) addGestureRecognize ...
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
随机推荐
- CCF真题之相反数
201403-1 问题描述 有 N 个非零且各不相同的整数.请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数). 输入格式 第一行包含一个正整数 N.(1 ≤ N ≤ 500). ...
- 封装,策略模式,Asp换脸
1.简单封装 1>计算类 using System; using System.Collections.Generic; using System.Linq; using System.Text ...
- Android -- 自定义View小Demo(一)
1,现在要实现下图的简单效果,很简单 ,就是使用paint在canvas上绘制5中不同颜色的圆圈,效果图如下: 这是绘制基本图形一种最简单的方法,下面是它的代码 ,注释写的很详细,也就不去讲解了 M ...
- Centos配置Caffe详解
http://www.tuicool.com/articles/uiuA3e
- JS中数组的操作
1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...
- sql语句中where和having的区别
WHERE语句在GROUPBY语句之前:SQL会在分组之前计算WHERE语句. HAVING语句在GROUPBY语句之后:SQL会在分组之后计算HAVING语句.
- java 文件及流读取
在Java语言的IO编程中,读取文件是分两个步骤:1.将文件中的数据转换为流,2.读取流内部的数据.其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用 ...
- 解决Android SDK Manager更新下载速度慢
1.在Host文件加上 203.208.46.146 www.google.com 74.125.113.121 developer.android.com 203.208.46.146 dl.goo ...
- 战舰的STM32的SPI的逻辑分析仪设置
- ctl 里面pdef解说
WRF 模式MM5 模式都是目前从网上可以下载的气象软件,因此在国内经常可以见到.但这两种模式的数据特点数据的水平网格都不是标准的经纬度网格.需要在ctl 文件中加入PDEF 定义说明把这种非标准的数 ...