2010-05-05 4 views
4

У меня есть MKMapView, у которого есть вывод, чем при нажатии, отображается название и субтитры аннотации.iPhone: всплывающее окно MKAnnotation?

Есть ли способ в коде, чтобы этот текст отображался автоматически, поэтому пользователю не нужно его кликать?

Если у меня много контактов, все они могут появиться?

ответ

7

Вы должны использовать selectAnnotation сообщение на MKMapView:

- (void)selectAnnotation:(id <MKAnnotation>)annotation animated:(BOOL)animated 

Выбирает указанный аннотацию и выводит на экран просмотра выноски для него.

+0

Спасибо за исправление – Nick

+0

@Nick Нет проблем :) – RedBlueThing

+0

Я проверю пространства имен MonoTouch, спасибо. –

2

Это может помочь:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated 
+1

документы говорят, что это не будет использоваться, Вы не должны вызывать этот метод напрямую. Объект MKMapView вызывает этот метод в ответ на взаимодействие пользователя с аннотацией. –

+0

Это хороший момент - извините, я пропустил пункт обсуждения в документе. Я не уверен, что это отклонение в магазине приложений достойно, но я не знаю другого способа сделать это. Любопытно с точки зрения HID, если вы пытаетесь вызвать оверлей в ответ на другое действие пользователя или если вы просто пытаетесь сделать несколько титров одновременно с несколькими маркерами. – Nick

+0

Да, у нас есть от 1 до 3 контактов и все они появляются каждый раз, когда появляется карта. –

0

Если MKMapView называется MAPview и ваш MKAnnotation называется myAnnotation, то это будет работать:

[mapView selectAnnotation:myAnnotation animated:YES]; 
Смежные вопросы