Попытка получить правильную кнопку выноски для загрузки другого контроллера представления - PullRequest
0 голосов
/ 12 марта 2011

Я создаю пешеходную экскурсию и использую mapkit.Я загружаю карту и использую пользовательские значки в качестве булавок и загружаю свои координаты GPS из файла plist.Мои выноски работают нормально.Моя проблема в том, что я хотел бы, чтобы правая кнопка выноски загружала различную информацию на другом экране для каждой остановки (изображение остановки и MP3).Буду ли я загружать разные контроллеры вида для каждой остановки в туре?Если да, то какой код я бы добавил к этому ниже, чтобы иметь контроллер представления с именем Load Detailcontroller?

 - (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
    NSLog(@"I've been tapped");
}

Если я далеко, и кто-то может указать мне правильное направление, это будет очень признательно.Я прошу прощения за мою формулировку, поскольку я действительно новичок в разработке кодов / приложений.

1 Ответ

0 голосов
/ 13 марта 2011

Я надеюсь и ожидаю, что вы будете использовать один и тот же тип контроллера представления для каждой остановки, но настроенный на разные данные.Когда я сделал что-то подобное, мои аннотации были объектами данных для каждой точки интереса на карте, поэтому я сделал бы это:

-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
    StopInfo *stopInfo = view.annotation;
    StopInfoDetailController *detailController = [[StopInfoDetailController alloc] initWithNibName:nil bundle:nil];
    detailController.stopInfo = stopInfo;
    [mapView.navigationController pushViewController:detailController animated:YES];
    [detailController release];
}

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...