Мои выноски на карте не отображают изображение при нажатии - PullRequest
0 голосов
/ 30 марта 2012

Я занимаюсь разработкой приложения для 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];
}

1 Ответ

0 голосов
/ 15 июня 2012

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

Самый простой (наименее необходимый код) способ представить изображение:

  1. Перетащите контроллер представления в раскадровку
  2. Перетащите UIImageView в контроллер представления
  3. Выберите изображение, которое вы хотите показать в редакторе свойств UIImageview
  4. Удерживая клавишу Control, перетащите с кнопки на главном контроллере вида на контроллер вида, содержащий изображение
  5. Это должно было создать переход. Выберите переход и выберите «модальный» из меню стилей

Вы можете сделать это для каждого изображения, которое вы хотите, но это грязно. Также рассмотрите возможность создания подкласса контроллера изображения и программного определения изображения, которое вы хотите показать. Вам может понадобиться сделать это в любом случае, если вы хотите отклонить изображение с помощью метода контроллера режима dismiss mode. Альтернативой будет добавление еще одного перехода, который указывает назад.

...