1
我有一段時間[4秒]後隱藏MKAnnotationView
的問題。我有一個MKMapView
,名爲mapView它顯示用戶位置MKUserLocation
,我已將UIButtonTypeDetailDisclosure
添加到他的MKAnnotationView
。 MKAnnotationView
自動被選中,但我想在一段時間後用NSTimer
取消選擇它。我已經正確地實現了計時器,並且void方法被正確調用[我已經使用NSLog
進行了檢查],但我不知道在void方法中寫入什麼代碼才能使註釋消失。如何隱藏MKAnnotationView?
這是我的代碼:
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
for (MKAnnotationView* view in views)
{
if ([view.annotation isKindOfClass:[MKUserLocation class]])
{
view.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[self.mapView selectAnnotation:view.annotation animated:YES];
}
mKAnnotationHideTimer = [NSTimer scheduledTimerWithTimeInterval:4.0
target:self
selector:@selector(hideMKAnnotation:)
userInfo:nil
repeats:NO];
}
}
- (void)hideMKAnnotation:(NSArray *)views
{
// What code here?
}
有人可以幫我寫的代碼?
非常感謝您爲您的快速回答@malex,即:-)工作。但現在XCode給了我一個黃色的警告,它說:「發送'MKAnnotationView * __ strong'參數的不兼容類型'id'」我該如何解決這個問題? –
Aluminum
沒關係,我已經修復它添加「(id)」到「aview」,所以現在它是「取消選擇註釋:(id)aview」 – Aluminum
我忘記了deselectAnnotation:有id參數。我糾正了我的答案。謝謝。 – malex