怎样实现UIView的旋转
2015-12-31 09:54
405 查看
首先创建界面,在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
相关代码如下
-(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
相关文章推荐
- UIFont的使用和字体类型总结
- mac下flash builder 4.6/4.7 升级 airsdk的版本至3.8的方法
- iOS - 用 UIBezierPath 实现果冻效果
- FlashBuilder的air sdk和FlashPlayer升级方法
- String.valueOf(a)和(String)a有什么区别
- UIButton关闭交互的三种实现方法
- LR的web_url、web_custom_request、web_submit_data、web_submit_form应用实例
- JAVA图形界面(GUI)
- iOS_UIButton 简单操作
- UITableView的全部属性、方法以及代理方法执行顺序
- 10099 The Tourist Guide
- Arithmetic Sequence(多校第九场)
- Request.url用法
- requirejs实验002. r.js合并文件. 初体验.
- OCUI storyboard & NIB
- 更新UI测试
- Easyui-DataGrid 查询,类序列化(构造匿名对象)
- IOS和安卓ui设计常用尺寸及基本知识
- 《算法竞赛入门经典2ndEdition 》例题5-6 团体队列(Team Queue, Uva540)
- 学习笔记UITableView、tablecell