UIView无限旋转动画的实现
今天需要实现一个搜狐新闻中“加载中”的效果,里面需要实现一个无限转圈的动画,在网上搜了一下,在这里把源码分享给大家:)
需要实现的效果如下:
实现UIView无限旋转的代码如下:
// an ivar for your class:BOOL animating;- (void) spinWithOptions: (UIViewAnimationOptions) options { // this spin completes 360 degrees every 2 seconds [UIView animateWithDuration: 0.3f delay: 0.0f options: options animations: ^{ view.transform = CGAffineTransformRotate(view.transform, M_PI / 2); } completion: ^(BOOL finished) { if (finished) { if (animating) { // if flag still set, keep spinning with constant speed [self spinWithOptions: UIViewAnimationOptionCurveLinear]; } else if (options != UIViewAnimationOptionCurveEaseOut) { // one last spin, with deceleration [self spinWithOptions: UIViewAnimationOptionCurveEaseOut]; } } }];}- (void) startSpin { if (!animating) { animating = YES; [self spinWithOptions: UIViewAnimationOptionCurveEaseIn]; }}- (void) stopSpin { // set the flag to stop spinning after one last 90 degree increment animating = NO;}