給地圖自定義的大頭針添加下降下落動畫
- (無效)MapView類:(的MKMapView *)MapView類didAddAnnotationViews:(NSArray的 *)的意見
{
(MKAnnotationView * annotationView 的意見)
{
(註釋isKindOfClass annotationView。:[ CustomAnnotation的類 ])
{
[ CATransaction 開始 ;
/ / 設置動畫時間
[ CATransaction 的setValue :[的NSNumber numberWithFloat :0.8F ] forKey : kCATransactionAnimationDuration ];
CAKeyframeAnimation * positionAnimation [ CAKeyframeAnimation animationWithKeyPath:“位置” ];
CGMutablePathRef positionPath = CGPathCreateMutable();
CGPathMoveToPoint(positionPath, NULL,[annotationView 層。位置。所述,annotationView 層。位置。Ÿ - 200);
positionPath,NULL,annotationView。層位置。CGPathAddLineToPoint( x,annotationView。層位置。Ÿ);
CGPathAddLineToPoint(NULL,positionPath, annotationView。層。位置。x - 1,annotationView。層位置。Ŷ - 1);
CGPathAddLineToPoint(positionPath, NULL,annotationView。層位置。所述 + 1,annotationView。層。位置。Ÿ + 1);
CGPathAddLineToPoint(positionPath, NULL,annotationView。層。位置x - 1,annotationView。層位置。Ÿ + 1);
CGPathAddLineToPoint(positionPath, NULL,annotationView。層位置。+ 1,annotationView。層。位置。Ÿ - 1);
positionPath,NULL,annotationView。層位置。CGPathAddLineToPoint( x,annotationView。層位置。Ÿ);
positionAnimation。路徑 positionPath;
positionAnimation。 timingFunction [ CAMediaTimingFunction functionWithName : kCAMediaTimingFunctionEaseInEaseOut ];
[annotationView 層addAnimation:positionAnimation forKey:@“positionAnimation” ];
[ CATransaction 提交 ;
}
}
}
一開始對地圖就不瞭解然後動畫只對UIView的動畫還算有印象所以當我給地圖添加暫未添加了一個自定義的大頭針之後我發現只有MKPinAnnotationView這個類有animatedDrop這個下降動畫所以怎麼給自定義的大頭針添加暫未添加下降動畫呢最後我用了這個比較笨的方法我先將這個大頭針的層移動到實際位置上面200的距離然後讓他加個動畫讓他回到原位置這樣就實現了動畫下落的效果效果基本和原版相同只不過這大頭針的影子是沒有動畫效果而且我給大頭針增加了一個落地之後的顫動效果
文章轉載自 http://hi.baidu.com/dmbxxzmivdbcmxr/item/ba918c871113e550e63d1900