0
A
回答
2
如何暫停和恢復的UIView動畫:
這將介紹如何做到以上無阻擋的動畫。 (人們仍然希望支持3.0以上)。
這隻允許在動畫達到設定位置後暫停。關於如何在動畫中的中間暫停的動畫,我使用CALayers建議這樣:
CALayer* myLayer = [self.myUIView.layer presentationLayer];
CGRect frameStop = myLayer.frame;
double pausedX = frameStop.origin.x;
double pausedY = frameStop.origin.y;
現在的實際如何:
startAnimation = [UIButton buttonWithType:UIButtonTypeRoundedRect];
startAnimation.titleLabel.font = [UIFont systemFontOfSize:22];
startAnimation.titleLabel.lineBreakMode = UILineBreakModeHeadTruncation;
[startAnimation setTitle:(@"pause") forState:UIControlStateNormal];
[startAnimation addTarget:self action:@selector(doAnimation) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:startAnimation];
-(void)doAnimation{
if (bicyclePad.animationPause == false){
[restartAnimation setTitle:(@"Resume") forState:UIControlStateNormal];
[bicyclePad pauseAnimation];
} else {
[restartAnimation setTitle:(@"Pause") forState:UIControlStateNormal];
[bicyclePad resumeAnimation];
}
}
-(void)resumeAnimation{
bicyclePad.animationPause = false;
[restartAnimation setTitle:(@"Resume") forState:UIControlStateNormal];
objectMotion = [[yourUIView alloc]initWithFrame:CGRectMake((*yourPathPoints)[0].x, (*yourPathPoints)[0].y, 8, 8)];
[self.view addSubview:objectMotion];
[self animateBike:nil finished:YES context:nil];
}
-(void)pauseAnimation{
bicyclePad.animationPause = true;
[restartAnimation setTitle:(@"Pause") forState:UIControlStateNormal];
[bicyclePad doAnimation];
}
-(void)animateObject:(NSString*)animationID finished:(BOOL)finished context:(void*)context {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationBeginsFromCurrentState:YES];
//below suggesting your animation loops
if (animationPause == true)
[UIView setAnimationDidStopSelector:@selector(animateStop:finished:context:)];
else
[UIView setAnimationDidStopSelector:@selector(animateObject:finished:context:)];
[UIView setAnimationDelegate:self];
[UIView setAnimationCurve: UIViewAnimationCurveLinear];
[UIView setAnimationDuration:yourDelay];
[UIView commitAnimations];
animationPause == false;
}
-(void)animateStop:(NSString*)animationID finished:(BOOL)finished context:(void*)context{
}
相關問題
- 1. 如何暫停和恢復UIView動畫?
- 2. aframe /動畫:如何暫停和恢復?
- 3. 擺動動畫暫停和恢復
- 4. 如何在點擊按鈕時暫停和恢復uiview動畫?
- 5. 如何暫停uiview動畫?
- 6. Snap.svg:如何暫停/恢復動畫?
- 7. 如何暫停/恢復LiquidSlider動畫
- 8. 暫停和恢復AnimateWithDuration動畫ios
- 9. 暫停和恢復圓形動畫
- 10. 暫停和恢復jQuery的動畫?
- 11. 暫停和恢復翻譯動畫
- 12. 使用jquery暫停和恢復動畫
- 13. UIView動畫塊會暫停動畫和完成代碼
- 14. 暫停/恢復動畫與jQuery週期
- 15. 如何製作動畫暫停和恢復?
- 16. 如何使用JavaScript暫停和恢復CSS3動畫?
- 17. 停止重複UIView動畫塊?
- 18. 如何在iOS5.0中使用塊來暫停UIView動畫
- 19. 暫停動畫
- 20. 暫停和恢復HTML5畫布?
- 21. 移除UIView動畫之間的暫停
- 22. 暫停恢復動畫 - 如何更新持續時間
- 23. 暫停和取消暫停AS2動畫
- 24. 用按鈕暫停和恢復CSS3背景動畫?
- 25. 在ios中暫停和恢復動畫的問題
- 26. CSS3動畫暫停/恢復跳躍和WebKit中
- 27. 從上一個位置暫停和恢復動畫
- 28. 響應式CSS3鏈接動畫,暫停和恢復問題
- 29. 我想這個jQuery動畫的暫停和恢復
- 30. 理解在圖層上暫停和恢復動畫
'animationPause ==虛假;'和'animationPause == true;'比較,不做任何事情。您可能想要分配值。 – DarkDust 2014-05-16 14:46:00
恐怕你沒有。你用另一個比較取代了一個比較。 'bicyclePad.animationPause == false;'仍然是一個比較,結果被扔掉。你想'bicyclePad.animationPause = false;'。注意'=='與'='。 – DarkDust 2014-05-17 12:38:13
啊好的。我想知道你的第一條評論。是的,這個代碼大約2歲。感謝您指出了這一點。 @DarkDust – 2014-05-19 15:42:27