gpt4 book ai didi

ios - 如何减慢 MKMapCamera 的运动?

转载 作者:行者123 更新时间:2023-11-28 18:11:11 25 4
gpt4 key购买 nike

我在 iOS 中编码。

我有一个 NSArray,其中包含一些 MKMapCameras。我想一个接一个地显示数组中的 MKMapCameras。

我放了一个 while 循环并使用了 [self.mapView setCamera:nextCamera animated:YES];

但是,这仅显示第一个和最后一个 View 。两者之间的一切都太快了。

我想放慢每个摄像机的移动速度。有没有办法使用 CATransaction 或使用任何其他动画技巧来实现它。如果是这样,您能给我一个示例代码吗?

想要更新...我试过下面的代码。但它不起作用...正如我之前提到的,相机移动速度很快。

[CATransaction begin];
[CATransaction setAnimationDuration:5.5];
[CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[CATransaction setCompletionBlock:^{
[self.mapView setCamera:nextCamera animated:YES];
}];
[CATransaction commit];

最佳答案

在摆弄它几个小时后,我想出了一个让它工作的方法。想和大家一起分享...

我做了两处改动。我用 UIView 的动画替换了 CATransaction。我还删除了 Camera 的默认动画设置,这与 UIView 的动画有冲突。

下面是代码。

[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:2.5];
self.mapView.camera = nextCamera;
[UIView commitAnimations];

关于ios - 如何减慢 MKMapCamera 的运动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19107550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com