kaydırdığı harita veya in / out yakınlaştırır zaman, bu yöntem anında çağrılır. Ben 2 saniye diyelim tarafından bu yönteme çağrıyı geciktirmek istiyor. Bunu yapmak mümkün mü?
temsilci yöntemine çağrıyı beklet - MapView: regionDidChangeAnimated:
oy
3
2 cevaplar
oy 4
4
Böyle bu yöntemi uygulamak olabilir:
-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
NSNumber *animatedNumber = [NSNumber numberWithBool:animated];
NSArray *args = [[NSArray alloc] initWithObjects:mapView,
animatedNumber,nil];
[self performSelector:@selector(delayedMapViewRegionDidChangeAnimated:)
withObject:args
afterDelay:2.0f];
[args release];
}
Sonra, bir yerde aynı sınıfta:
-(void)delayedMapViewRegionDidChangeAnimated:(NSArray *)args
{
MKMapView *mapView = [args objectAtIndex:0];
BOOL animated = [[args objectAtIndex:1] boolValue];
// do what you would have done in mapView:regionDidChangeAnimated: here
}
Eğer (ya bu argümanlar birini gerekmiyorsa Tabii mapViewya animated), yalnızca ihtiyaç yaptığını birini geçerek bu oldukça basit yapabiliriz.
Sadece şunlara ait kodunu düzenlemek yapamıyorsanız MKMapViewDelegateo zaman alıyoruz rağmen, belki de, yöntem swizzling ile benzer bir şey yapabileceğini gerçekten hacky.
oy 0
0
Sen bir gecikmiş mesaj gönderebilir performSelector:withObject:afterDelay:ya da ilişkili yöntemlerden biridir.













