我想將圖像移動到某個位置。而且我還需要每秒檢查圖像的當前位置,以確定該圖像是否在該特定位置上達到。所以,我做了以下:不停止UIView動畫的圖像當前位置
-(void)viewWillAppear:(BOOL)animated{
[self moshaMoveUp:mosha1 with:206 and:89];
playerLifeCount = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(deductPlayerLife) userInfo:nil repeats:YES];
}
-(void)moshaMoveUp: (UIImageView *)mosha with:(int)x and:(int)y{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:7.0];
[UIView setAnimationDelay:0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:self];
mosha.center = CGPointMake(x, y);
[UIView commitAnimations];
}
但問題是當「moshaMoveUp」方法被調用在一開始時,圖像的中心當時設置爲(206,89)。所以,我每秒鐘檢查一次當前位置,它顯示了我希望圖像到達的位置的結果,而不是當前位置。即使圖像尚未到達該位置。
-(void)deductPlayerLife{
NSLog(@"x : %f",mosha1.frame.origin.x);
NSLog(@"y : %f",mosha1.frame.origin.y);
}
那麼,如何在不停止圖像運動的情況下每秒獲取該圖像的實際當前位置。