文档章节

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

般若花
 般若花
发布于 2014/04/23 10:06
字数 411
阅读 7839
收藏 2

    由于项目需求,需要做点击向下剪头时,剪头逆时针旋转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
长宁
程序员
私信 提问
DirectX11--实现一个3D魔方(3)

前言 (2019/1/9 09:23)上一章我们主要讲述了魔方的旋转,这个旋转真是有毒啊,搞完这个部分搭键鼠操作不到半天应该就可以搭完了吧... (2019/1/9 21:25)啊,真香 有人发这张图片问我写魔方的目...

X_Jun
01/10
0
0
Qt5版NeHe OpenGL教程之三:旋转

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

caoshangpa
2018/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

没有更多内容

加载失败,请刷新页面

加载更多

AWK用法入门详解

AWK用法入门详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将...

linjin200
26分钟前
3
0
Centos7 搭建Gitlab服务器并配置项目全过程

一、在Centos7上安装Gitlab 之前尝试过直接yum安装,但服务器从该yum源下载实在太慢,故手动下载rpm包安装。 1.先安装相关依赖 yum -y install policycoreutils openssh-server openssh-clie...

sjcehui2010
46分钟前
4
0
实现基于JWT的Token登录验证功能

前言 放假之前做了几个小项目+课设,都用到了token实现登录验证和权限判断,然鹅当时和同组的小伙伴也都是第一次接触到了token,于是乎都是一脸懵逼(xjbx)的写完了登录验证的前后端逻辑(我...

鱼煎
47分钟前
3
0
数学表达式计算 MathParser.org-mXparser

背景 在系统中需要计算公式,参数可以配置,类似excel的情况,可以实现数据的计算。 mXparser 实例 public static void main(String[] args) throws InterruptedException { Argume...

翱翔fly
52分钟前
4
0
即将开源 | 2亿用户背后的Flutter应用框架Fish Redux

背景 在闲鱼深度使用 Flutter 开发过程中,我们遇到了业务代码耦合严重,代码可维护性糟糕,如入泥泞。对于闲鱼这样的负责业务场景,我们需要一个统一的应用框架来摆脱当下的开发困境,而这也...

阿里云官方博客
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部