【问题标题】:MKMapView setRegion:animated: animation is going really slow on iOS7MKMapView setRegion:animated: 动画在 iOS7 上真的很慢
【发布时间】:2013-12-29 02:17:20
【问题描述】:

我正在尝试重新创建双击放大和两指点击缩小地图,我有一些奇怪的动画缓慢,特别是当我两指点击缩小时。 (我必须这样做,因为我在缩放时锚定了中心点,而默认的双击和两个手指点击手势是不可能的)

当我处于近距离缩放级别时,这不是问题,但一旦我达到城市缩放级别并更远,动画需要非常长的时间。如果我在setRegion 上将动画设置为NO,它会立即跳转到我想要的缩放级别,这让我相信加载更大的区域没有问题。

在 viewDidLoad 中,我设置了 zoomEnabled = NO 并添加了一个两指点击手势识别器和双击手势识别器。 (双击手势识别器也有同样的问题)

我的两指敲击代码是这样的:

- (void)mapTwoFingerTapped:(UITapGestureRecognizer *)doubleFingerTapRecognizer
{
  double zoomScale = 2;
  MKCoordinateSpan span = MKCoordinateSpanMake(self.map.region.span.latitudeDelta * zoomScale,
                                             self.map.region.span.longitudeDelta * zoomScale);

  [self.map setRegion:MKCoordinateRegionMake(self.map.region.center, span) animated:YES];
}

这意味着我所做的只是将经纬度加倍并设置新区域。是什么导致动画变慢,如何恢复正常速度?

编辑:我发现这只发生在 iOS 7 设备上。 iOS 6 似乎不受影响。

【问题讨论】:

    标签: iphone objective-c animation ios7 mapkit


    【解决方案1】:

    根据一些经验,听起来您的代码的其他部分可能有一个打开的动画块,这会影响setRegion: 动画的持续时间。你能从手势开始浏览其他一些代码吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-07
      • 2016-08-01
      • 2019-08-12
      • 1970-01-01
      • 2020-08-27
      相关资源
      最近更新 更多