gpt4 book ai didi

iphone - 延迟调用委托(delegate)方法 - mapView :regionDidChangeAnimated:

转载 作者:搜寻专家 更新时间:2023-10-30 20:07:58 25 4
gpt4 key购买 nike

每当用户滚动 map 或放大/缩小时,都会立即调用此方法。我想延迟调用此方法 2 秒。有可能吗?

最佳答案

您可以像这样实现该方法:

-(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];
}

然后,在同一个类(class)的某个地方:

-(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
}

当然,如果你不需要这些参数之一(mapViewanimated),你可以通过只传递你所做的那个来使这变得相当简单需要。

如果您不能只为您的 MKMapViewDelegate 编辑代码,也许您可​​以使用方法调配做一些类似的事情,尽管那样您会变得真的 hacky。

关于iphone - 延迟调用委托(delegate)方法 - mapView :regionDidChangeAnimated:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2660142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com