iOS:animateWithDuration在旋转图层时不起作用

时间:2013-12-05 12:21:15

标签: ios view rotation

我想要一个图层旋转,代码是这样的:

weightHand.bounds = CGRectMake(0,0,w,h);
weightHand.anchorPoint = CGPointMake(GET_COEFF(QCETEK_WHAT_UNITS, WEIGHTHANDE_APX_INDEX),
                                     GET_COEFF(QCETEK_WHAT_UNITS, WEIGHTHANDE_APY_INDEX));

weightHand.transform = CATransform3DMakeRotation (SCALE_INIT_DEGREE , 0, 0, 1);

使用代码,weightHand真正旋转。但现在我想知道旋转动画何时完成。我希望在前一轮完成后继续旋转它。

我想可能会有一些委托可以在动画过程中的正确时间调用,说开始或完成。

请帮助我了解这些信息。非常感谢。 [编辑]:代码被粘贴。

if ( !bStopped ) {
    [data_queue addObject:[NSNumber numberWithDouble:dbWeight]] ;
    NSLog(@"Qu") ;

}
else {
    NSLog(@"Con") ;

}

bStopped = NO  ;
[UIView animateWithDuration:1 animations:^{


     weightHand.transform = CATransform3DMakeRotation (CONVERT_TO_DISPLAY_FROM_KG(dbWeight), 0, 0, 1);

} completion:^(BOOL finished) {
    if ( finished ) {
        NSLog(@"Done") ;
        bStopped = YES ;
        if ( [data_queue count] == 0 ) return ;
        double dbLocalWeight = [[data_queue objectAtIndex:0] doubleValue];
        [data_queue removeObjectAtIndex:0];
        [self setMainAnimation:dbLocalWeight] ;
    }
}];

日志是这样的:     2013-12-05 22:10:49.524 Scale_Lite [969:60b] Con     2013-12-05 22:10:49.530 Scale_Lite [969:60b]完成     2013-12-05 22:10:49.674 Scale_Lite [969:60b] Con     2013-12-05 22:10:49.680 Scale_Lite [969:60b]完成     2013-12-05 22:10:49.724 Scale_Lite [969:60b] Con     2013-12-05 22:10:49.730 Scale_Lite [969:60b]完成     2013-12-05 22:10:49.924 Scale_Lite [969:60b] Con     2013-12-05 22:10:49.930 Scale_Lite [969:60b]完成


0 个答案:

没有答案