【问题标题】:MKOverlay jumps when changing alpha of MKMapView in an animation在动画中更改 MKMapView 的 alpha 时,MKOverlay 会跳转
【发布时间】:2013-06-20 09:55:56
【问题描述】:

我将多个 MKCircle 和一个 MKPolyline 添加到 MKMapView。在 animationWithDuration 中,我将 MKMapView 实例的 alpha 从 1 更改为 0。MKMapView 按预期消失,但在动画开始时,MKOverlays(MKCircle 和 MKPolyline)跳跃了几个像素。

        self.routeView.alpha = 0;        
        [UIView animateWithDuration:2 animations:^{
            self.routeView.alpha = 0;
        } completion:^(BOOL finished) {    
        }];

我添加了一个显示问题的示例视频。在此视频中,您会在 2 秒内看到 alpha 从 1 到 0 的变化,在动画完成后,您会看到在 2 秒内将其动画化回 1。在第一个动画的开头和第二个动画的结尾,您会看到一点跳跃。 example video

在模拟器中您无法重现此问题,因为叠加层会立即消失。您应该改为在设备上运行它。

有谁知道导致这个问题的原因以及如何解决?

【问题讨论】:

    标签: ios jquery-animate mkmapview alpha mkoverlay


    【解决方案1】:

    尝试将您的动画块转换为旧语法。就我而言,块样式不起作用,但旧样式起作用了。这修复了我的 alpha 动画。

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:2];
    
    self.routeView.alpha = 0.0;
    
    [UIView commitAnimations];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-22
      • 1970-01-01
      • 2012-02-21
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多