我使用下面的代碼塊向下滑動UIView,並在完成時旋轉另一個UIView。 動畫的第二部分,完成塊只執行一次,這意味着第一個動畫未完成,否則它將到達完成塊。 在iphone模擬器上看起來好像第一個動畫沒有完成... 任何人都可以幫我弄清楚這一點嗎? 我的NSLog說:我的animatewithduration,完成塊只執行一次
完成第一次
開始第二
完成第一次
完成第一次
完成1
。
。
。
- (IBAction) move
{
[UIView animateWithDuration:0.7 animations:^{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.7];
[UIView setAnimationRepeatCount:1];
[UIView setAnimationRepeatAutoreverses:NO];
CGPoint pos = movingtTable.center;
float moveDistance = 220.0;
if(!isViewVisible){
//expose the view
pos.y = pos.y+moveDistance;
//disable selection for xy table
xTable.userInteractionEnabled = NO;
yTable.userInteractionEnabled = NO;
//angle = M_PI;
}
else
{
pos.y = pos.y-moveDistance;
xTable.userInteractionEnabled = YES;
yTable.userInteractionEnabled = YES;
//angle = -M_PI;
}
isViewVisible = !isViewVisible;
movingtTable.center = pos;
NSLog(@"finished 1st");
}completion:^(BOOL finished){
NSLog(@"started 2nd");
[UIView animateWithDuration:0.4 animations:^{
//[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.4];
//[UIView setAnimationRepeatCount:1];
//[UIView setAnimationRepeatAutoreverses:NO];
arrows.transform = CGAffineTransformMakeRotation(angle);
}completion:^(BOOL finished){
angle = -angle;
}];
}];
丹,要麼在回答對您有幫助?你有沒有發現他們工作?如果是這樣,如果你「接受」最好的或者對你的發現發表評論,對每個人都有幫助。乾杯 – MobileVet 2012-04-02 14:51:32