文档章节

UIView旋转角度

马甲哥
 马甲哥
发布于 2014/04/25 09:52
字数 227
阅读 5003
收藏 3

最近做一个视图的旋转、放大、拖动、拉伸,其他的都慢慢解决了,就是旋转之后各种问题不好处理,最终归结到旋转角度的不能获取,纠结了好几天,终于找到了获取旋转角度的方法。

CGFloat radius = atan2f(view.transform.b, view.transform.a);
CGFloat degree = radius * (180 / M_PI);

旋转方式:

1、旋转到x度

view.transform = CGAffineTransformMakeRotation(x);

2、在现在旋转角度的基础上再旋转x度

CGAffineTransform currentTransform = view.transform;
CGAffineTransform newTransform = CGAffineTransformRotate(currentTransform, x); // 在现在的基础上旋转指定角度
view.transform = newTransform;

恢复到0度

CGAffineTransform currentTransform = view.transform;
CGFloat rotation = (0.0 - recordDegree) * M_PI / 180.0f; // recordDegree记录现在的旋转角度
CGAffineTransform newTransform = CGAffineTransformRotate(currentTransform, rotation);
view.transform = newTransform;

当然,根据上面旋转方式1的方法,直接将x设置为0更简单,这里只是提供一种思路。

Demo地址:旋转、放大、拖动、拉伸Demo

© 著作权归作者所有

共有 人打赏支持
马甲哥
粉丝 1
博文 3
码字总数 1420
作品 0
佛山
程序员
iOS 中imageView的任意角度旋转的实现

在实际的开发中我们可能会遇到这种情况: 需要对图片进行一定角度的旋转。对于这种需要,我们可能会用UIView的transform进行旋转,但是这样做其实只是对承载imageView的view进行了一定角度的旋...

飞翔fly
2017/12/07
0
0
UIView顺时针旋转、逆时针旋转

由于项目需求,需要做点击向下剪头时,剪头逆时针旋转180度,再点击,顺时针旋转180度(恢复原位) 因为我的基础不牢固,遇到这种知识点的问题就百度,但是网上找到的全是逆时针旋转,想改成...

般若花
2014/04/23
0
0
动画-CGAffineTransform

CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,控制视图的缩放、旋转和平移操作. transform 是一种状态,并且只有一种状态. UIView的transform属性是一个结构体...

hell03W
2016/06/27
20
0
IOS开发之UI中的坐标相关内容

#import "AppDelegate.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )l......

鹿微微鹿
2016/04/07
7
0
iOS UIView动画实践(四):过渡与伪3D动画

前言 上三篇关于UIView Animation的文章向大家介绍了基础的UIView动画,包括移动位置、改变大小、旋转、弹簧动画、过渡动画。这些虽然看起来很简单,但是如果我们仔细分析、分解一个复杂动画...

上官尘
2016/03/15
412
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 使用parent方式引用时 获取值属性方式默认@

采用官网提供的 引入依赖时,application.properties中的值变量,无法通过${}获取,这是由于Spring Boot 已经将字符方式调整为 <resource.delimiter>@</resource.delimiter>。故如果在,工程中...

翱翔fly
28分钟前
1
0
HTTPS证书验证流程及SSL证书生成步骤【附nginx开启https配置】

------------------------------------------------------------ HTTPS证书验证流程(极简化版) 1.客户端向服务端请求证书(server.crt) 2.服务端下发证书(server.crt) 3.客户端用预制的...

xiaomin0322
29分钟前
1
0
预编译sql语句和参数化sql能有效防止——sql注入攻击——

预编译和参数化处理sql原理类似: 参数化处理sql 是将参数进行了字符串化处理,把参数中的单引号,井号#,等都做了转义处理,进而在执行sql语句时不会被当做sql中的定界符和指定符来执行。 ...

fang_faye
30分钟前
1
0
springboot最全配置解释

​​​​​​​# ----------------------------------------# 核心属性# ----------------------------------------# 文件编码banner.charset= UTF-8# 文件位置banner.locati...

废柴大叔
31分钟前
85
1
(大致了解下)从单机到2000万QPS: 知乎Redis平台发展与演进之路

导读:知乎存储平台团队基于开源Redis 组件打造的知乎 Redis 平台,经过不断的研发迭代,目前已经形成了一整套完整自动化运维服务体系,提供很多强大的功能。本文作者是是该系统的负责人,文...

Ocean_K
39分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部