博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
怎样实现UIView的旋转
阅读量:4883 次
发布时间:2019-06-11

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

首先创建界面,在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

转载于:https://www.cnblogs.com/wcLT/p/5090791.html

你可能感兴趣的文章
EMQ进行HttpApi登录问题
查看>>
全栈工程师之路-中级篇之小程序开发-第三章第一节页面跳转及参数传递,跳转到更多页面...
查看>>
[导入][Software]SourceForge Enterprise Edition
查看>>
数据结构——顺序表与链表
查看>>
关于Spring配置文件提示的插件下载
查看>>
软件工程师就业前景
查看>>
asp.net成员管理系统membership详解教程(一)
查看>>
情态动词
查看>>
关于linux的一些基础知识
查看>>
架构漫谈阅读感悟一
查看>>
Android系列之网络(二)----HTTP请求头与响应头
查看>>
数据结构之表(1)顺序表的实现
查看>>
5. git 过滤,让某文件夹里无法提交新添加的文件
查看>>
使用python脚本的3D引擎Panda3d
查看>>
「成长指南」大佬是怎样炼成的
查看>>
CentOS VMware 下SSH配置方法详解
查看>>
【DNN 系列】 添加模块后不显示
查看>>
Java Spring MVC 错误 及 常见问题 总结
查看>>
移动端默认兼容各手机比例
查看>>
案例4-修改商品
查看>>