CATransaction completion being called immediately

前端 未结 4 2166
盖世英雄少女心
盖世英雄少女心 2020-12-13 12:21

I\'m trying to execute a completion-block after my CAAnimation has finished. However, it seems that animation block is called before my animation completes. The animation st

4条回答
  •  攒了一身酷
    2020-12-13 13:09

    You need to set the completion block before adding the animation.

    [CATransaction begin];
    [CATransaction setValue:[NSNumber numberWithFloat: 1.0f] forKey:kCATransactionAnimationDuration];
    
    [CATransaction setCompletionBlock:^{
    // ... whatever you want to do when the animation is complete
    }];
    
    [self.googleMapsView animateToCameraPosition:[GMSCameraPosition 
                        cameraWithLatitude:LATITUDE
                                 longitude:LONGITUDE
                                      zoom:ZOOM]];
    
    [CATransaction commit];
    

    This must trigger the completion block after the completion of that animation on the view.

提交回复
热议问题