十年專注于網站建設與互聯網應用開發,低調、有情懷的網絡應用服務商!
南昌百恒科技微信公眾號 掃一掃關注
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒科技微信公眾號

IOS開發之地圖視圖中的可重用對象

百恒科技 2019-01-23 14:46:53 576
? ? ? ?在開發地圖應用時,也有一個可重用對象MKPinAnnotationView,它是在地圖上的一個標注。使用地圖視圖的dequeueReusableAnnotationViewWithIdentifier:方法,可以獲得MKPinAnnotationView對象。如果沒有可重用的MKPinAnnotationView對象,則使用initWithAnnotation:reuseIdentifier:構造器創建。其模式代碼如下:

? ? ? ?func mapView(mapView: MKMapView!,
? ? ? ?viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {

? ? ? ?var annotationView = self.mapView
? ? ?? .dequeueReusableAnnotationViewWithIdentifier("PIN_ANNOTATION")
? ? ? ?as? MKPinAnnotationView

? ? ? ?if annotationView == nil {
? ? ? ?annotationView = MKPinAnnotationView(annotation: annotation,
? ? ? ?reuseIdentifier: "PIN_ANNOTATION")
? ? ?? }
? ? ? ?annotationView!.pinColor = MKPinAnnotationColor.Purple
? ? ? ?annotationView!.animatesDrop = true?

? ? ? ?annotationView!.canShowCallout = true
? ? ? ?return annotationView!
? ? ? }?

? ? ? ?- (MKAnnotationView *) mapView:(MKMapView *)theMapView
? ? ? ?viewForAnnotation:(id ) annotation {

? ? ? ?MKPinAnnotationView *annotationView
? ? ? ?= (MKPinAnnotationView *)[self.mapView
? ? ? ?dequeueReusableAnnotationViewWithIdentifier:@"PIN_ANNOTATION"];
? ? ? ?if(annotationView == nil) {
? ? ? ?annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation
? ? ? ?reuseIdentifier:@"PIN_ANNOTATION"];
? ? ? ?}

? ? ? ?annotationView.pinColor = MKPinAnnotationColorPurple;
? ? ? ?annotationView.animatesDrop = YES;?

? ? ? ?annotationView.canShowCallout = YES;
? ? ? ?return annotationView;
? ? ? ?}

? ? ? ?以上代碼是地圖視圖中常用的處理方式,希望對大家有所幫助。如果還有哪些不明白的地方,可隨時來電咨詢。本公司專注于南昌APP開發等方面的服務,如有需要,我們將隨時為您效勞。
400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
備案專線 備案專線
 
售后服務 售后服務
 
×
体育彩票超级大乐透