我正在使用[UIView animateWithDuration ...]爲了顯示我的應用程序的每個頁面的文本。每個頁面都有自己的文字。我在頁面間滑動瀏覽。我在顯示頁面後使用1秒溶解效果使文本消失。如何在完成之前中斷UIView動畫?
下面是問題:如果我在1秒內(在此期間文本正在淡入)中滑動,則會在下一頁出現並且2個文本重疊(前一個和當前)時完成動畫。
我想要實現的解決方案是中斷動畫,如果我碰巧在其發生時刷卡。我無法做到這一點。 [self.view.layer removeAllAnimations];不適合我。
這裏是我的動畫代碼:
- (void) replaceContent: (UITextView *) theCurrentContent withContent: (UITextView *) theReplacementContent {
theReplacementContent.alpha = 0.0;
[self.view addSubview: theReplacementContent];
theReplacementContent.alpha = 0.0;
[UITextView animateWithDuration: 1.0
delay: 0.0
options: UIViewAnimationOptionTransitionCrossDissolve
animations: ^{
theCurrentContent.alpha = 0.0;
theReplacementContent.alpha = 1.0;
}
completion: ^(BOOL finished){
[theCurrentContent removeFromSuperview];
self.currentContent = theReplacementContent;
[self.view bringSubviewToFront:theReplacementContent];
}];
}
你們是否知道如何使這項工作?你知道解決這個問題的其他方法嗎?
可能重複[取消UIView動畫?](http://stackoverflow.com/questions/554997/cancel-a-uiview-animation) – matt
你嘗試發送'removeAllAnimations'到'CurrentContent.layer'和' theReplacementContent.layer'? –
@matt,雖然 – Armand