以uibutton为例
- (void)btnbtnbtnbtn:(UIButton *)btn{
//假设控件初始状态为状态1.
[UIView animateWithDuration:2.0f animations:^{
[btn setTransform:CGAffineTransformMakeRotation(M_PI)];
//rotation后面跟的是控件旋转的最终位置,当前为顺时针180度位置。目前为状态2.
[btn setTransform:CGAffineTransformMakeRotation(0)];
//这段代码使控件旋转到离初始状态(即状态1)0度旋转量的位置,也就是归位操作。
这里有个有趣的现象:归位时控件仍然是顺时针旋转,为了达到逆时针旋转归位的效果调整代码如下:
[btn setTransform:CGAffineTransformMakeRotation(M_PI*0.0000001)];
//这个现象的原理目前还未深究,有时间仔细研究一下,我猜测是:最终位置度数-初始位置度数>=-180即顺时针,0~-180测逆时针。
}];
}
网友评论