我有一个viewController,在其中使用AVAudioPlayer
播放声音,并使用NSTimer
运行计时器2分钟,并使用播放动画序列
[UIView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
//Rolling the Man's tongue out
_cooling2ManImage.alpha = 1.0;
_cooling3ManImage.alpha = 0.0;
}
completion:^(BOOL boolValue){
[UIView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
//showing the Arrow image and translating the arrow to the mouth
_cooling1ArrowImage.alpha = 1.0;
_cooling1ArrowImage.transform = CGAffineTransformMakeTranslation(0,-110);
}
completion:^(BOOL boolValue){
[UIView animateWithDuration:1.5
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
//Hiding the arrow
_cooling1ArrowImage.alpha = 0.0;
}
completion:^(BOOL boolValue){
_cooling1ArrowImage.transform = CGAffineTransformMakeTranslation(0,0);
[UIView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
//Roll the tongue back in
_cooling2ManImage.alpha = 0.0;
_cooling3ManImage.alpha = 1.0;
}
completion:^(BOOL boolValue){
//Show the arrow and translate it
[UIView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
_cooling3ArrowImage.alpha = 1.0;
CGAffineTransform scale;
CGAffineTransform translate;
scale = CGAffineTransformMakeScale(2.5, 2.5);
translate = CGAffineTransformMakeTranslation(0, 40);
_cooling3ArrowImage.transform = CGAffineTransformConcat(scale, translate);
_cooling3ArrowImage.alpha = 0.0;
}
completion:^(BOOL boolValue){
[UIView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
_cooling2ManImage.alpha = 0.0;
_cooling3ManImage.alpha = 1.0;
_cooling1ArrowImage.alpha = 0.0;
_cooling3ArrowImage.alpha = 0.0;
_cooling3ArrowImage.transform = CGAffineTransformMakeTranslation(0,0);
_cooling3ArrowImage.transform = CGAffineTransformMakeScale(1,1);
if (count <= 6 ) {
[self startAnimation1];
count += 1;
NSLog(@"%i",count);
}
}
completion:nil];
}];
}];
}];
}];
}];
我要实现暂停和恢复功能,以便当用户按下“暂停”按钮时,音频,动画和计时器会暂停,而当用户单击“恢复”按钮时,它将从停顿的位置恢复。我知道该如何实现?
最佳答案
供AVAudioPlayer使用
[avplayerObject pause];
[avplayerObject play];
for timer:
您可以存储自计时器启动以来经过的时间...当计时器启动时,将日期存储在NSDate变量中。然后,当用户切换时...在NSDate类中使用方法timeIntervalSinceNow来存储已过去的时间...请注意,这将为timeIntervalSinceNow提供一个负值。用户返回时,使用该值设置适当的计时器。
用于查看动画check this one
关于ios - 暂停计时器,uiview动画和音频iOS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16210466/