2017-06-18 86 views

回答

0

爲了自定義圖像動畫形象標記註釋:

  • 在資源:添加所需的動畫X序列圖像:frame_1.png到frame_X.png
  • 在代碼:擴展您查看與MKMapViewDelegte控制器是這樣的:

class MyViewController: MKMapViewDelegate

在故事板:

  1. 挑選您MapKit視圖
  2. 進入實用程序框架和選擇 連接檢查與 控制器
  3. 連接代表元素。

現在你的視圖控制器可以從MapView獲得回調。

在代碼: 添加以下代碼重寫標記/註釋設置回調

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? 
    { 
     if !(annotation is MKPointAnnotation) { 
      return nil 
     } 

     let reuseId = "test" 

     anView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseId) 
     if anView == nil { 
      anView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseId) 
      anView!.image = UIImage(named:"frame_1") 
      anView!.canShowCallout = true 


      Timer.scheduledTimer(timeInterval: 0.05, target: self, selector: #selector(Changeimage), userInfo: nil, repeats: true) 

     } 
     else { 
      anView!.annotation = annotation 
     } 

     return anView 
    } 

    func Changeimage() 
    { 
     if count == 8 
     { 
      count=0 
     } 
     else 
     { 
      anView!.image = UIImage(named:"frame_\(count+1)") 
      anView!.canShowCallout = true 
      count=count+1 
     } 
    } 

如果你不需要動畫,只是從代碼中刪除定時器線。