转载自: http://zhidao.baidu.com/link?url=YsSDzoiAJ5n-Oc8uk_tpMWiE1WD1L9ixKGDHB8UJnR7lC9fTxwuClXbudIh-Fgpd4G2CSymVY3QqvhrrmNhffRnexStN4lYJ0ALHaJ7zsDq
你可以做这样的假设你已经创建了一个取消的财产。作为块的startAnimation调用记录需要被包裹在一个异步调用,以避免堆栈溢出.a定要与任何类类型你确实有更换“身份证”。- (void)startAnimation { [UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction animations:^(void) { //animate } completion:^(BOOL finished) { if(!self.canceled) { __weak id weakSelf = self; [[NSOperationQueue mainQueue] addOperationWithBlock:^{ [weakSelf startAnimation]; }]; } } ]; }