Проблема с прослушиванием MKAnnonationView

Я хочу перейти к следующему классу, нажав MKAnnotationView на MKMapView. Как я могу это сделать, пожалуйста, дайте пример кода для этого.

Я сделал этот код..объяснено ниже..

- (void)mapView:(MKMapView *)mapView1 didSelectAnnotationView:(MKAnnotationView *)customAnnotationView
{
       //Here Push to another view controller
}

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

Пожалуйста, помогите мне решить эту проблему...

Заранее спасибо...


person Mehul Mistri    schedule 16.09.2011    source источник


Ответы (1)


вам нужно реализовать этот метод: -

отредактировано: -

вам нужно реализовать следующий метод.

 - (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
    NSLog(@"touch");
    [mapView deselectAnnotation:view animated:NO];
    firstVC *aa=[[[firstVC alloc]initWithNibName:@"firstVC" bundle:nil] autorelease];
    [[self navigationController] pushViewController:aa animated:YES];

}

 -(void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view
{
    NSLog(@"notouch");
    firstVC *aa=[[[firstVC alloc]initWithNibName:@"firstVC" bundle:nil] autorelease];
    [[self navigationController] pushViewController:aa animated:YES];

}

предыдущий:-

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{    
    CompanyDetail  *detail = [[CompanyDetail alloc] initWithNibName:@"CompanyDetail" bundle:nil];       
    [self.navigationController pushViewController:detail animated:YES]; 
}

Make sure you do 

UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 

в вашем методе - (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation

person Gypsa    schedule 16.09.2011
comment
этот метод не вызывается, когда я нажимаю любую аннотацию в Mapview, можете ли вы помочь мне решить эту проблему? - person Mehul Mistri; 16.09.2011
comment
этот метод будет вызываться, когда вы нажмете кнопку раскрытия вашей аннотации. Добавили ли вы свою кнопку, когда вы показываете аннотацию булавки - person Gypsa; 16.09.2011
comment
Я не добавляю кнопку раскрытия, но добавляю на нее изображение с помощью пользовательских аннотаций и нажимаю на эту аннотацию. Я хочу это сделать. Можете ли вы мне помочь? - person Mehul Mistri; 16.09.2011
comment
нет, это метод делегата представления карты, и он вызывается при нажатии кнопки аксессуара. - person Gypsa; 16.09.2011
comment
Можете ли вы сказать мне, почему метод, который я написал, не вызывается каждый раз? - person Mehul Mistri; 16.09.2011
comment
Не могли бы вы сказать мне, что писать в этом методе и когда этот метод вызывается? - person Mehul Mistri; 16.09.2011
comment
Выпустить аннотацию в этом методе? - person Mehul Mistri; 16.09.2011