Невозможно выдвинуть новый вид при нажатии на вид аннотации
В моем приложении для iphone у меня есть контроллер с видом и MKMapView.
Я отображаю несколько аннотаций на карте, но когда я нажимаю на аннотацию, вызывается "calloutAccessoryControlTapped", но я не могу выдвинуть новый вид.
self.navigationView имеет значение null... каков наилучший способ сделать это? Нужно ли создавать навигационный контроллер поверх MKMapView?
-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
NSLog(@"annotation clicked"); // => OK
if ([control isKindOfClass:[UIButton class]]) {
NSLog(@"annotation clicked 2"); // => OK
// Get annotation as some stuff needs to be passed to the new view
MyAnnotation *annotation = (MyAnnotation*)view.annotation;
ControlViewController *controlViewController = [[ControlViewController alloc] initWithNibName:@"ControlViewController" bundle:nil];
controlViewController.thing = annotation.thing;
NSLog(@"self.navigationController:%@", self.navigationController); // => null
// [self.navigationController pushViewController:controlViewController animated:YES];
[controlViewController release];
}
}
1 ответ
Решение
Да, ваш контроллер представления должен быть внутри UINavigationController
, Проверьте документы, чтобы узнать, как это сделать.