我正在尝试在CAAnimation完成后执行完成块.但是,似乎在我的动画完成之前调用了动画块.但动画仍然正确.
[CATransaction begin];
[self.view.layer addAnimation:self.dropAndBounceAnimation forKey:@"appearance"];
[CATransaction setCompletionBlock:completionBlock];
[CATransaction commit];
Run Code Online (Sandbox Code Playgroud)
dropAndBounceAnimation是position.y上的CAKeyFrameAnimation,具有固定的持续时间.
在适用于iOS的Google地图应用中,当您点按"我的位置"按钮时,相机会从您当前所在的位置慢慢平移到当前位置.
根据Google的开发者文档,我实现了类似于用户点击按钮时显示的方法:
- (void) animateToCameraPosition: (GMSCameraPosition *) cameraPosition;
Run Code Online (Sandbox Code Playgroud)
这与我的代码类似:
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude: lat
longitude: long zoom: 17];
[googleMapView animateToCameraPosition:camera];
Run Code Online (Sandbox Code Playgroud)
它工作正常,相机根据我指定的坐标平移到我想要的任何位置.然而,事实上,平移真的很快,很快.
我希望相机从我所在的任何位置慢慢平移到指定位置,如Google地图所示.
我怎样才能做到这一点?谢谢