作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
任何人都可以帮助我如何使用
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
方法。
我试图告诉我的项目设备上的注释引脚,但我不知道如何做。每个图钉都有一个公开按钮,但我不知道程序如何知道按下了哪个图钉按钮。
最佳答案
您可以在这里使用多种不同的技术。
例如,您可以为每个annotationView保留一个ivar并执行以下操作:
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
if (view == myFirstAnnotationView) {
//do something
}
if (view == mySecondAnnotationView) {
//do something
}
if (view == myThirdAnnotationView) {
//do something
}
}
或者,您可以使用注释 View 的标记值。
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
if ([view.tag isEqualToString@"one"]) {
}
if ([view.tag isEqualToString@"two"]) {
}
}
或者,您可以子类化 MKAnnotationView 以向其添加一些行为。
- (void)mapView:(MKMapView *)mapView annotationView:(MyMKAnnotationViewSubclass *)view calloutAccessoryControlTapped:(UIControl *)control {
[view doAMethodIMadeWhenISubclassed];
}
没有,这些都是一个完整的解决方案,如果没有更好地理解您的应用程序和设计,就很难提供一个解决方案,但它们的共同点是在将其添加到 map 之前更改annotationView以便决定委托(delegate)回调发生后要做什么。我希望这能引导您走上正确的道路。
关于iPhone注释引脚和按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2953815/
我是一名优秀的程序员,十分优秀!