文档章节

UIView旋转角度

马甲哥
 马甲哥
发布于 2014/04/25 09:52
字数 227
阅读 4915
收藏 3
点赞 0
评论 0

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

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
切换UIView动画

首先添加拖动手势: 以任意点进行旋转

SimonXun
2016/09/13
8
0
Quartz Core 图层编程

一、添加 Quartz Core 框架 要使用 Quartz Core 框架,你需要将其添加到你的工程中 。 然后 #import <Quartz Core/QuartzCore.h> 二、认识图层 对 ps 有所了解的人都知道图层的概念,在这里也...

晨曦之光
2012/03/12
0
1
iOS核心动画笔记5-变换

变换 这一节主要讲的是, 对图层进行旋转,缩放扭曲等操作. 1. 仿射变换 在视图层面上, UIView有个属性叫做 transform, 可以进行二维层面上的图层变换. 主要包括: 旋转/平移/缩放操作. 当图层应...

hell03W
2016/08/11
73
0
iOS开发UI篇—transframe属性(形变)

iOS开发UI篇—transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移、缩放比例和旋转角度 常用的创建transform结构体方法分两大类 (1) 创建“基于控件初...

法斗斗
2016/02/24
13
0
01-UI基础-01-概述

1、UIKit 类结构图 2、可能用到的UI UI控件名称 中文名称 UI控件名称 中文名称 UIButton 按钮 UIScrollView 滚动的控件 UILabel 文本标签 UIPageControl 分页控件 UITextField 文本输入框 UI...

口十耳
2016/01/04
15
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

数据结构与算法2

一个数组的例子,实现查找,显示和删除的功能。 public class array {public static void main(String[] args){long[] arr;arr = new long[100];int nElems = 0;int j;...

沉迷于编程的小菜菜
7分钟前
0
0
Python3 基于 requests 批量下载图片

Python3 基于 requests 批量下载图片 import requestsheaders = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encod......

leeyi
8分钟前
0
0
Sparkstreaming and Kafka

简介 Kafka 0.10的Spark Streaming集成设计与0.8 Direct Stream方法类似。 它提供了简单的并行性,Kafka分区和Spark分区之间的1:1对应关系,以及对偏移量和元数据的访问。 但是,由于较新的...

舒运
12分钟前
0
0
java获取当前时间所在一周的周一和周日日期

/** * 当前时间所在一周的周一和周日时间 * @param time 当前时间 * @return */ public static Map getWeekDate(String time) { Map map = new HashedMap(); SimpleDateFormat sdf = new Si......

小弱鸡
40分钟前
0
0
Redis数据的导出和导入(dump和load方式)

网上有些文章已经不再适用,本人也是踩了些坑,在此记录下。 迁移redis数据一般有如下3种方式: 第三方工具redis-dump,redis-load aof机制,需要开启aof功能 rdb存储机制 这里介绍第一种方式...

iplusx
45分钟前
1
0
ElasticSearch 高亮显示大文档搜索结果

2016年12月,我们开始研究Ambar——一个文档搜索系统。Ambar使用ElasticSearch作为核心搜索引擎。 在Ambar开发的过程中,我们处理了很多与ES相关的问题,我们想分享我们得到的宝贵经验。让我...

九州暮云
今天
1
0
Python 使用 pywifi 模块 破解wifi密码

git https://github.com/awkman/pywifi 常见常量 from pywifi import const# Define interface status.IFACE_DISCONNECTED = 0IFACE_SCANNING = 1IFACE_INACTIVE = 2IFACE_CONNEC......

阿豪boy
今天
1
0
phpstorm使用Iedis

phpstorm的redis插件Iedis是真好用 看了网上挺多的文章,但是由于我系统还是ubuntu,就有点尴尬了,现在破解之后,留个笔记,即使自己之后有需要也可以很快翻阅 先下载资源 资源下载 zip压缩...

贤郎--均灵
今天
0
0
第三章 spring-bean之FactoryBeanRegistrySupport(4)

前言 从FactoryBeanRegistrySupport类的名字可以看出FactoryBeanRegistrySupport负责FactoryBean的注册与支持。如果想知道FactoryBean相关的资料,请阅读spring-bean中关于FactoryBean的解读...

鸟菜啊
今天
0
0
CentOS “Destination Host Unreachable”问题解决办法

挑战极速安装CentOS时遇到局域网主机不能通信的情况: [root@zjd network-scripts]# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=......

wffger
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部