Я разрабатываю приложение для iPhone для университетского проекта, и я новичок в разработке iPhone. Я просмотрел код Apple MapCallouts, но реализовать его не представляется возможным.Мои карты выноски не отображают изображение при нажатии
Пока мой код отображает карту, уменьшает аннотации, отображает заголовок и отображает кнопку прямого вызова. Но здесь я столкнулся с проблемами.
Когда я нажимаю кнопку выноски, она отображает пустой контроллер представлений, но он должен отображать другое изображение для каждой выноски, которая была нажата, и этого пока не происходит.
Я добавил мой код ниже:
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view
calloutAccessoryControlTapped:(UIControl *)control
{
//NSUInteger tag = ((UIButton *)control).tag;
if (self.detailController==nil)
{
DetailViewController* detailViewController = [[DetailViewController alloc] init];
[self.navigationController pushViewController:detailViewController animated:YES];
}
// self.detailController.tag =1; //to identify image required
// self.detailController.tag = tag;
[self.navigationController pushViewController:detailController animated:YES];
}
Показать метод, который вызывается при нажатии кнопки вызова. Измените свой вопрос и добавьте в него код. – Anna
Является ли detailController вообще? Также обратите внимание, что ваш текущий код будет дважды нажимать, если detailController равен нулю. Это ваш фактический код (у вас есть 'detailController' и' detailViewController')? Вместо того, чтобы пытаться использовать теги для идентификации аннотации, она доступна непосредственно в view.annotation. Например, см. Http://stackoverflow.com/questions/8256288/how-to-pass-sender-tag-in-detailview-to-get-default-map-application-for-directio и http: // stackoverflow. com/questions/7921106/optimizing-code-for-mkmapview-large-of-annotations – Anna
Когда я запускаю приложение, просмотр загружается, когда аксессуар вызова вызывается, но на нем отображается черный пустой экран, на котором должно быть изображение и я также получаю следующую ошибку: приложение попыталось нажать на контроллер представления nil на цель