Я работаю с MapView и у меня есть 30 расположений контактов, и все работает отлично. Я добавил кнопку в выноску с RightCalloutAccessoryView. Вот код кнопки:
UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
pinView.rightCalloutAccessoryView = rightButton;
[rightButton addTarget:self action:@selector(rightButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
return pinView;
}
Это работает нормально и вызывает метод rightButtonPressed. Вот реализация этого метода:
-(IBAction) rightButtonPressed:(id)sender
{
NSLog(@"button clicked");
MapViewController *thisMap = (MapViewController *)[[UIApplication sharedApplication] delegate];
DetailViewController *dvc = [[DetailViewController alloc]initWithNibName:@"DetailViewController" bundle:nil];
[thisMap switchViews:self.view toView:dvc.view];
}
Итак, как вы видите, всякий раз, когда я касаюсь любой кнопки из всех 30-контактных выносок, она переходит в один и тот же вид (DetailViewController). Я хочу, чтобы каждая кнопка имела свой собственный вид для переключения (это место, где я собираюсь разместить «Направления отсюда», «Направления отсюда» и т. Д., А также адрес и название магазина).
Я понимаю, что мог бы сделать 30 представлений и сделать 30 различных методов, которые могли бы применяться к каждому выводу, но я знаю, что должен быть более краткий код, который работает с массивами.
Возможно, определенные массивы могут быть вызваны в UILabel на DetailViewController, поэтому он просто загрузит соответствующую информацию и также даст указания для соответствующего местоположения.
Это может быть большой вопрос, и я искал несколько уроков, но не нашел ничего, что точно отвечает на вопрос. Если бы кто-нибудь мог заставить меня начать (или даже указать мне правильное направление), я был бы полностью благодарен.