文档章节

UIView顺时针旋转、逆时针旋转

般若花
 般若花
发布于 2014/04/23 10:06
字数 411
阅读 7523
收藏 2
点赞 1
评论 0

    由于项目需求,需要做点击向下剪头时,剪头逆时针旋转180度,再点击,顺时针旋转180度(恢复原位)

    因为我的基础不牢固,遇到这种知识点的问题就百度,但是网上找到的全是逆时针旋转,想改成顺时针,第一反应是把旋转角度前加“-”,可惜无果。后来,试了几个角度值,终于实现的UIView的顺时针旋转


逆时针旋转:

        //arrowLeft 是要旋转的控件
        //逆时针 旋转180度 
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
        [UIView setAnimationDuration:0.2]; //动画时长
        arrowLeft.transform = CGAffineTransformMakeRotation(180 *M_PI / 180.0);
        CGAffineTransform transform = arrowLeft.transform;
        //第二个值表示横向放大的倍数,第三个值表示纵向缩小的程度
        transform = CGAffineTransformScale(transform, 1,1);
        arrowLeft.transform = transform;
        [UIView commitAnimations];

顺时针旋转:

        //顺时针 旋转180度
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
        [UIView setAnimationDuration:0.2]; //动画时长
        arrowLeft.transform = CGAffineTransformMakeRotation(0*M_PI/180);
        CGAffineTransform transform = arrowLeft.transform;
        transform = CGAffineTransformScale(transform, 1,1);
        arrowLeft.transform = transform;

    正常想法,一个控件经历一次顺时针旋转180度之后(也就是执行一遍这个方法),再执行一遍,应该是回归原位。但是不知道为什么没有。可能是跟设置坐标类似吧,它旋转的时候不是以现在的角度为基准进行旋转,而是一定固定好要旋转到的角度。我现在是这么理解的。项目忙,没时间细深究,等有空要好好研究一下iOS的各种动画效果以及参数。

© 著作权归作者所有

共有 人打赏支持
般若花
粉丝 4
博文 7
码字总数 1799
作品 0
长宁
程序员
Qt5版NeHe OpenGL教程之三:旋转

这一课会把第二课中的三角形绕Y轴逆时针旋转45°,正方形绕X轴顺时针旋转45° 头文件中添加两个变量表示三角形和正方形旋转的角度。 private: 在构造函数中赋值 Lesson3::Lesson3(QWindow *...

caoshangpa
05/11
0
0
UIImage 工具类的方法详解

UIKit中有一些类可以用来操纵单个图像,还有一个图像类可以用来显示图像。Apple还提供了一种特殊的导航控制器,用于从图像库中选择图像。 UIImage类对图像及其底层数据进行封装。它可以直接绘...

创意总监
2014/11/08
0
0
CGImageSource对图像数据读取任务的抽象

来自:http://www.tanhao.me/pieces/1019.html/ 其中获取到的kCGImagePropertyPixelHeight和kCGImagePropertyPixelHeight的数值是原始的值,也就是旋转之前的数值,所以要获取到显示图像的宽...

水一样的人儿
2016/08/15
6
0
小蚂蚁学习数据结构(34)——平衡二叉树的概念

平衡二叉树的作用 由于二叉排序树的结构可能不平衡,导致对树的运算的时间复杂度增加。 调整二叉排序树的结构,使其始终成为平衡的状态——平衡二叉树。 平衡二叉树的定义 若一个二叉树中每个...

嗜学如命的小蚂蚁
2016/02/09
198
0
C算法编程题(五)“E”的变换

程序描述   给定7×7二维数组矩阵,元素由“0”或“1”组成,并且根据元素值屏幕显示“E”字形图案,其中“0”显示空格,“1”显示“@”。 如矩阵 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 0 ...

范大脚脚
2017/11/07
0
0
canvas ctx.rotate()

canvas的rotate()方法 rotate()旋转当前的绘图。 语法:context.rotate(angle) 参数:angle旋转角度,以弧度计(n*Math.PI) 举例:假如想要旋转60度,可以context.rotate(Math.PI/3)进行表示...

喝醉的熊
05/19
0
0
数学美 之 判断线段相交的最简方法

首发于我的博客 转载请注明出处 解析几何的巅峰 是 向量 那无关过程的狂妄与简洁 映射着大自然无与伦比的美 引子 如何判断两条直线是否相交? 这很容易。平面直线,无非就是两种关系:相交 ...

hsfzxjy
2017/11/29
0
0
HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果

首先感谢w3cfuns的老师~ 今天给大家带来一个CSS3制作的翻牌效果,就是鼠标移到元素上,感觉可以看到元素背后的信息。大家如果制作考验记忆力的连连看、扑克类的游戏神马的,甚至给女朋友写一...

lmj623565791
2014/06/19
0
0
Android中如何在XML中定义动画

在XML中定义动画有四种方式,分别为: <alpha/> <scale/> <translate/> <rotate/> 下面具体来介绍每个标签里面的属性 <alpha> 控制动画的透明度 fromAlpha: 动画起始时的透明度 toAlpha:动......

hx50859042
2014/03/10
0
0
iOS开发UI篇—transframe属性(形变)

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

法斗斗
2016/02/24
13
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

rabbitmq学习记录(三)

工作队列:一个生产者,多个消费者,生产者直接将消息发送到rabbitmq的队列之中 默认采用的是轮询分配:即不管消费者处理信息的效率,队列给所有消费者轮流发送一条信息,直至消息发送完毕 ...

人觉非常君
21分钟前
0
0
Java 之 反射

反射,剖析 Java类 中的 各个组成部分,映射成 一个个 Java对象,多用于 框架和组件,写出复用性高的通用程序。 测试类代码如下: class Person { private String name; public St...

绝世武神
25分钟前
0
0
华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大

华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大!华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大! 在华为最新发布的nova 3手机上,抖音通过华为himedia SDK集成了60fps、超级...

华为终端开放实验室
30分钟前
0
0
多 SSH Key 实现同一台服务器部署多 Git 仓库

本文以以下需求为背景,介绍详细的做法: 需在同一台服务器同时部署两个不同的 Github 仓库(对 Bitbucket 等 git 服务同样适用) root 用户可在远程登录 SSH 后附上预期的 SSH Key 进行 gi...

yeahlife
33分钟前
0
0
003. es6数值的扩展

一、普通扩展 Number 方法,将字符串、数值转为十进制 : Number('0b111') Number.isFinite() 用来检查一个数值是否为有限的:Number.isFinite(15) Number.isNan() 用来检查一个值是否为NaN N...

秋季长青
47分钟前
0
0
C语言数组和指针的语法糖

对于C语言,我可以这样秀:比如当创建一个数组arr[n]之后,一般我们去遍历数组的时候是for (int i = 0; i < n; i++) { a[i]; }但是我知道下表访问符[]是个语法糖,也就是说a[i]在编译器看来是...

ustbgaofan
55分钟前
0
0
Call to undefined function bcmath()的解决方法

乐意黎的ECS主机环境,Centos7.2 + PHP7 由于使用了bcdiv()函数,运行时总在抛错。 Fatal error: Call to undefined function bcmath() in /usr/loca/apache/htdocs/... on line 4 一查得知:......

dragon_tech
今天
0
0
css优先级

..

architect刘源源
今天
0
0
【转】Twitter的分布式自增ID算法snowflake

结构 snowflake的结构如下(每部分用-分开): 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以...

talen
今天
0
0
hive支持行级修改

Hive从0.14版本开始支持事务和行级更新,但缺省是不支持的,需要一些附加的配置。要想支持行级insert、update、delete,需要配置Hive支持事务。 一、Hive具有ACID语义事务的使用场景 1. 流式...

hblt-j
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部