我目前有一个视图从屏幕的一个部分到另一个部分的动画。我希望动画在按下“暂停”按钮时暂停。这意味着当我“暂停”动画时,动画需要保持在原来的位置(框架位置)。我已经尝试了一些东西,但没有给我我想要的结果。以下是我当前代码的粗略版本。UIView取消动画
-(IBAction)startScroll
{
NSLog(@"Start scroll");
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:30];
//set new frame for view
[UIView commitAnimations];
}
和一个方法停止动画
-(IBAction)pauseScroll
{
NSLog(@"Pause Scroll");
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:0.1];
//Pause animation in it's current location
[UIView commitAnimations];
}
我尝试将帧设置为presentationLayer.frame,如前所述,但出于某种原因,它将它设置为将视图移动到0,0坐标点。还有什么我可以尝试? – Jeff 2010-09-13 01:44:23
没想到会有这种行为......这是因为我试图为UIScrollView创建动画而不是框架本身。 – Jeff 2010-09-13 01:47:43