我正在使用这段代码来拦截和自定义引脚丢弃的动画:
- (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)
,它就会杀死动画。针脚刚出现。
有什么想法吗?