จะแสดงคำบรรยายภาพหลายรายการจาก MKAnnotationView ได้อย่างไร

ฉันชอบใช้ st. แบบนี้. ฉันมีคำอธิบายประกอบสองรายการพร้อมคำบรรยายภาพ แต่ MKMapView อนุญาตให้เลือกได้เพียงรายการเดียวในเวลาเดียวกัน

[mapView selectAnnotation:self.firstAnnotation animated:FALSE];
[mapView selectAnnotation:self.secondAnnotation animated:FALSE];

เมื่อฉันเลือกคำอธิบายประกอบอื่น คำอธิบายแรกจะยกเลิกการเลือกโดยอัตโนมัติ

แต่ในภาพด้านล่างก็ปฏิบัติสำเร็จแล้ว แล้วจะทำเช่นนี้ได้อย่างไร? http://oi52.tinypic.com/14t3t09.jpg


person baladurasa    schedule 22.07.2011    source แหล่งที่มา


คำตอบ (1)


โปรดดู "คำบรรยายประกอบหลายรายการที่แสดงใน MKMapView": คำบรรยายประกอบหลายรายการที่แสดงใน MKMapView

ดูเหมือนว่าเฟรมเวิร์กไม่รองรับการเลือกหลายรายการ ดังนั้นคุณจะต้องใช้ไฮไลต์ที่กำหนดเองสำหรับลักษณะการทำงานนี้ คำตอบสำหรับคำถามที่เชื่อมโยงจะแนะนำให้ทำให้คำบรรยายของคุณเป็นส่วนหนึ่งของมุมมองคำอธิบายประกอบ เพื่อให้คุณสามารถจัดการการเลือกได้ด้วยตัวเอง โดยส่วนตัวแล้ว ฉันชอบใช้คำบรรยายเสริมเป็นคำอธิบายประกอบแยกต่างหาก ฉันมีโปรเจ็กต์ตัวอย่างพร้อมคำบรรยายที่กำหนดเองที่นี่:

https://github.com/jacobjennings/JJMapCallout

ซึ่งเป็นวิธีแก้ปัญหาของฉันสำหรับ:

MKAnnotationView - ล็อคมุมมองคำอธิบายประกอบที่กำหนดเองเพื่อปักหมุด ในการอัปเดตตำแหน่ง

ในโครงการนี้ ฉันส่งต่อวิธีการมอบสิทธิ์ MKMapView

- (void)mapView:(MKMapView *)aMapView didSelectAnnotationView:(MKAnnotationView *)aView
- (void)mapView:(MKMapView *)aMapView didDeselectAnnotationView:(MKAnnotationView *)aView

ไปยังคำอธิบายประกอบที่เกี่ยวข้อง ซึ่งช่วยให้ฉันใช้พฤติกรรมไฮไลต์ที่คาดหวังได้ อย่างไรก็ตาม คุณสามารถเพิกเฉยต่อข้อความ DidDeselectAnnotationView เพื่อให้มองเห็นคำบรรยายได้

หากต้องการทราบว่าผู้ใช้แตะบนแผนที่เพื่อล้างคำอธิบายประกอบหรือไม่ (ไม่ได้แตะหมุด) ให้ตรวจสอบค่าของ mapView.selectedAnnotations ในเมธอด DidDeselectAnnotationView ของคุณ และหากว่างเปล่า คุณจะรู้ว่าจะต้องล้างข้อความเสริมของคุณ

person Jacob Jennings    schedule 12.09.2011
comment
อ่านโซลูชันอื่นที่คุณลิงก์ไปและสังเกตเห็นว่าคุณเปลี่ยนลิงก์ megaupload ที่นั่น คุณควรเปลี่ยนลิงก์นี้ด้วย งานดี... - person whyoz; 11.08.2012