ios - MapView 委托(delegate)问题
<p><p>我正在开发 MapView。 mapView 委托(delegate)方法 <code>didSelectAnnotationView</code> 在我点击 Pin 时被调用,但是当我再次点击 Pin 时,该方法不会被调用,直到我不点击 map 。</p>
<p>每当我点击位置 Pin 时,我都希望调用 <code>didSelectAnnotationView</code> 方法。
请帮忙</p>
<p>这是 <code>didSelectAnnotationView</code> 方法:</p>
<pre><code>- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)aView{
id<MKAnnotation> annotation = aView.annotation;
if (!annotation || !)
return;
if ([ isEqualToString:@"My Location"])
return;
NSLog(@"Annotation Title: %@",);
if(self.calloutAnnotation != nil)
{
;
self.calloutAnnotation = nil;
return;
}
if ( NO == ])
{
NSObject <MultiRowAnnotationProtocol> *pinAnnotation = (NSObject <MultiRowAnnotationProtocol> *)annotation;
if (!self.calloutAnnotation)
{
self.calloutAnnotation = [ init];
;
;
}
self.selectedAnnotationView = aView;
return;
}
;
self.selectedAnnotationView = aView;
}
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>我遇到了同样的问题,但我解决了。调用 didDeselectAnnotationView 方法并将其从 superview 中移除。像这样:</p>
<pre><code>-(void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view {
for (UIView *subview in view.subviews ){
;
}
}
</code></pre>
<p>它对我有用,希望它对你有用。</p></p>
<p style="font-size: 20px;">关于ios - MapView 委托(delegate)问题,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/25519999/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/25519999/
</a>
</p>
页:
[1]