干净的解决方案来知道哪个 MKAnnotation 已被窃听?

2024-01-04

好的,所以您通常有一些想要在 MKMapView 内注释的对象 X。你这样做:

DDAnnotation *annotation = [[DDAnnotation alloc] initWithCoordinate: poi.geoLocation.coordinate title: @"My Annotation"];
[_mapView addAnnotation: annotation];

然后你在里面创建注释视图

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

当某些标注被点击时,您可以在内部处理事件:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control;

将 X 传递到最新点击事件的最干净的解决方案是什么?


如果我理解您的问题,您应该向 DDAnnotation 类添加引用或属性,以便在 calloutAccessoryControlTapped 方法中您可以访问该对象。

@interface DDAnnotation : NSObject <MKAnnotation> {
    CLLocationCoordinate2D coordinate;
    id objectX;
}
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
@property (nonatomic, retain) id objectX;

创建注释时:

DDAnnotation *annotation = [[DDAnnotation alloc] initWithCoordinate:poi.geoLocation.coordinate title: @"My Annotation"];
annotation.objectX = objectX;
[_mapView addAnnotation: annotation];

Then:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control{

    DDAnnotation *anno = view.annotation;
    //access object via
    [anno.objectX callSomeMethod];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

干净的解决方案来知道哪个 MKAnnotation 已被窃听? 的相关文章

  • iOS 上有像 JUNG 这样的可视化框架吗?

    有没有类似的可视化框架JUNG http jung sourceforge net applet index html对于iOS 我想实现类似的东西this http prefuse org gallery graphview iOS 上最
  • 如何添加私有 Spec Repo 以使用私有 Pod?

    我完成了这个教程http guides cocoapods org making private cocoapods html http guides cocoapods org making private cocoapods html但
  • 是否可以强制 MapKit 显示所有注释而不进行聚类?

    我有两个类都符合MKAnnotation 我想知道有没有办法强制MapKit当用户缩小并显示所有注释时不聚集注释 上述解决方案对我不起作用 但是这个解决方案有效 final class CarPinMarkerView MKMarkerAn
  • 在 Objective C 中使用 NSMutableArray 对象的指针

    当在 cocoa touch 中从 NSMutableArray 检索对象时 下面的代码可以吗 我应该每次分配 alloc 新的 Page 对象还是只是指向它 我是否需要对 Page pageObj 之后执行任何操作 例如将其设置为 nil
  • 如何在 iPhone 窗口应用程序中显示另一个窗口

    首先 我是 Objective C 和 iPhone 编程的新手 有事我无法去上班 我有一个 iPhone 窗口应用程序 在主窗口中有一个按钮 我想在单击按钮时显示另一个窗口 我已将事件与我的控制器绑定 我只是不知道如何在事件中显示我的另一
  • 在 Xcode 4.2 中启用崩溃日志符号

    我使用的是 Xcode 4 2 我的崩溃日志没有被符号化 如何在 Xcode 4 2 中启用此功能 请浏览苹果的文档 http developer apple com library ios technotes tn2151 index h
  • 签名仅对临时无效

    我不确定我的临时项目发生了什么变化 但在尝试安装时出现此错误 应用程序未通过协同设计验证 签名无效 或者不是用Apple提交证书签名的 19011 设备调试构建良好 与我的临时配置文件关联的证书直到 2011 年才会过期 我搜索了 Goog
  • 如何让 iPhone 屏幕变暗

    我的 iPhone 屏幕上有一个刷新按钮 可以刷新当前视图中的表格 屏幕刷新得很漂亮 但是有没有办法让屏幕变暗 然后在表格刷新后再次变亮 您可以在要调暗的视图上放置一个带有黑色背景的非不透明视图 默认情况下 其 alpha 值为 0 因此是
  • 如何制作像 Facebook 应用程序一样的登录屏幕?

    如何制作像 Facebook 应用程序一样带有 电子邮件 和 密码 文本字段的登录屏幕 Facebook登入 http extdesenv com wp content uploads 2012 05 facebook login ios
  • 从 Plist 中存储和检索 [重复]

    这个问题在这里已经有答案了 可能的重复 iOS 在 plist 文件中存储两个 NSMutableArray https stackoverflow com questions 6070568 ios store two nsmutable
  • iPhone 上的最大蓝牙连接数是多少?

    如果您对此有任何见解 那么了解连接之间是否存在很大的延迟也会很高兴 蓝牙协议规定连接是点对点的 因此称为 配对 但不同的站可以同时使用不同的配置文件 每个配置文件一次仅支持一个连接 您可以同时与汽车建立立体声耳机连接并与笔记本电脑建立数据连
  • iPhone 标签栏上的未读计数

    在 Cocoa Touch 上实现 TabBar 上图标的未读计数的最佳方法是什么 我想模仿 SMS 或邮件应用程序的行为 向我的应用程序的用户显示未读消息计数 并使用包含数字的红点 您正在寻找的属性称为徽章 您可以通过执行以下操作来设置它
  • MKMapView 中显示多个注释标注

    是否可以同时打开多个标注 代码 void mapViewDidFinishLoadingMap MKMapView theMapView for id
  • iPhone SDK - 在后台线程中运行重复进程

    我有一个iPhone我想在其中每隔一段时间在后台执行一个方法的应用程序1第二 所以在我的主线程中 我有以下代码UIViewController viewDidLoad NSTimer timerWithTimeInterval 1 0 ta
  • 为什么 UIWebView 吃这么多内存?

    我正在使用 UIWebView 为我的 iPad 应用程序加载纯文本 HTML 页面 HTTP页面的大小只有40KB 但是当我使用仪器监控加载 UIWebView 的内存使用情况时 我发现它消耗了大约 20MB 内存 如果我滚动 Web 视
  • 在 iPhone 上处理电子标签

    知道如何在客户端处理电子标签吗 我们计划在我们的应用程序中使用带有来自服务器的图像的电子标签 关于什么是 eTag 请参阅 http en wikipedia org wiki HTTP ETag http en wikipedia org
  • Swift 自定义 UITableViewCell 标签始终为零

    我已经被这个问题困扰好几天了 所以如果有人能提供帮助 我会很高兴 我正在尝试创建一个动态 UITableView 为此我创建了一个自定义 UITableView 子类 并且还创建了一个自定义 UITableViewCell 子类 因为我需要
  • NSImage 的 ressizedImageWithCapInsets ?

    In UIKit我们有 UIImage resizableImageWithCapInsets UIEdgeInsets capInsets 有类似的东西吗AppKit用于创建可平铺的NSImage NSImage 在 10 10 Yose
  • iOS 7 MapKit 崩溃:[VKRasterOverlayTileSource invalidateRect:level:] 中的 EXC_BAD_ACCESS

    我仅在 iOS 7 上遇到无法重现的崩溃 我大量使用 MKOverlayRenderer 在地图上绘制形状 iOS 6 上不会发生此崩溃 任何与此相关的想法都会有用 Exception Type EXC BAD ACCESS Code KE
  • iOS 6 中的模态视图控制器强制横向方向

    我有一个以纵向模式呈现的 UITabBarController 在其中一个选项卡上 我有一个以模态方式显示 UIViewController 的按钮 一个简单的故事板 segue 执行该操作 我希望这个模态视图以横向模式显示 但我无法让它自

随机推荐