别人的资源。特此声明!
实现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;
- }