MKAnnotationView攻丝问题

时间:2011-09-16 04:45:23

标签: iphone objective-c ipad mkmapview mkannotationview

我想通过点击MKMapView上的MKAnnotationView导航到下一个类。我该怎么做plz为此提供一些示例代码。

我已经完成了这个代码..在下面解释..

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

一个问题是,当点击一个项目时,此方法会调用,它会导航到其他类,但是当我回来再次点击相同的项目时,此方法不会被调用。

请帮我解决这个问题...

提前致谢...

1 个答案:

答案 0 :(得分:2)

您需要实现此方法: -

编辑: -

您需要实施以下方法。

 - (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方法