1

我有一个分配有自定义类 mapviewHandler 的地图视图,并将其添加到 blaViewController.h@property (weak, nonatomic) IBOutlet mapviewHandler *mapView;

这是 mapviewHandler.m 的一个片段

-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
    NSLog(@"test");
}

这是头文件 op mapviewHandler

#import <MapKit/MapKit.h>

@interface mapviewHandler : MKMapView <MKMapViewDelegate>

@end

为什么连接地图视图如此困难,所以它将动作称为

- (MKAnnotationView *)mapView: (MKMapView *) mapView viewForAnnotation: (id<MKAnnotation>) annotation {

- (void)mapView:(MKMapView *)mapView
  annotationView:(MKAnnotationView *)annotationView
didChangeDragState:(MKAnnotationViewDragState)newState
    fromOldState:(MKAnnotationViewDragState)oldState
{

我已经挣扎了好几天了,绝望了,我只想开始,因为这是我第一次使用 Cocoa Touch 和 xcode,我已经开始讨厌它了,因为我找不到任何好的文档,而我找到的文档却没有'不解释如何或它只适用于他们而不是我不知道

提前谢谢请帮我解决我的头痛和不眠之夜(是的,因为这是一项特殊任务)

4

2 回答 2

0

控制将地图视图拖到视图控制器并链接代表。

或者创建一个插座(控制从地图拖动到 .h 文件)。然后假设您将其命名为地图。在 .m 文件中,您会说 self.map.delegate = self; 您可以在 viewDidLoad 或您想要的任何其他加载方法中这样说。

此外,您通常会制作一个 UIViewController,然后在其中添加 mapviewdelegate。看来这是地图子类??

于 2013-06-14T11:27:09.233 回答
0

确保您的注释有标题。

检查这个问题:MKMapView Clicking on pins won't call didSelectAnnotationView

并且不要开始讨厌它,给自己一些时间来学习一切:-)

于 2013-06-17T14:54:25.053 回答