給地圖自定義的大頭針添加下降下落動畫

給地圖自定義的大頭針添加下降下落動畫

- (無效)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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章