MKPointAnnotation动画来自屏幕上的固定位置

时间:2012-04-02 13:59:09

标签: iphone objective-c mkmapview mkannotation

我正在使用这段代码来拦截和自定义引脚丢弃的动画:

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {     

    MKAnnotationView *aV;

    for (aV in views) {

        MKPointAnnotation *annotation = aV.annotation;

        CGRect endFrame = aV.frame;

        aV.frame = CGRectMake(aV.frame.origin.x, aV.frame.origin.y - 230.0, aV.frame.size.width*5.0f, aV.frame.size.height*5.0f);


        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.45];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
        [aV setFrame:endFrame];
        [UIView commitAnimations];

        }
}

在上面的示例中,引脚显示在其目标点上方230像素处。结果是一个动画,其中图钉似乎“掉落”到位。

我希望能够设置引脚相对于屏幕的原始位置,而不是引脚本身。例如,我想让引脚从左上角开始。但是,如果我将aV.frame设置为CGRectMake(0.0f, 0.0f, aV.frame.size.width*5.0f, aV.frame.size.height*5.0f),它就会杀死动画。针脚刚出现。

有什么想法吗?

0 个答案:

没有答案