读书人

树形Menu箭头卡通片

发布时间: 2013-03-21 10:08:17 作者: rapoo

树形Menu箭头动画

在使用TableView实现多级树型menu这篇中,实现了多级Menu的现实 ,很多时候为了让父菜单更有指示性,会在菜单中,加上向下向上箭头,以表示其自菜单是否打开。一般会加上下面的动画效果。

        [UIView animateWithDuration:0.25 animations:^(void){imageView.transform = CGAffineTransformRotate(imageView.transform, 3.1415926);}                         completion:^(BOOL finished){                             //set default transform                             imageView.transform = CGAffineTransformMakeRotation(0);                             imageView.image = [UIImage imageNamed:@"new_chevron.png"];                             }];

其中需要这条

imageView.transform = CGAffineTransformMakeRotation(0);

因为在使用transform做动画时,其转换是会保存下来的,即使用该imageView下次重新打开图片,其图片时倒着的(因为我们已经把它旋转了π个角度(180)),所以需要先讲其旋转回来,在载入新的图片。

其次因为cell是会被重用的,使用一张图片来回旋转来实现时,不能把旋转效果保存在imageView中(不建议该方法)。

在使用动画效果时,发现了一个很奇怪的现象:

当使用系统的π

#define M_PI 3.14159265358979323846264338327950288 /* pi */

会出现设置复数是无法顺针旋转,可能会是位数过长造成了溢出,自己定义一个位数短些的π,如

#define ROTATION_M_PI 3.1415926




读书人网 >移动开发

热点推荐