每当用户滚动地图或放大/缩小时,都会立即调用此方法。我想延迟这个方法的呼叫,比如说2秒。有可能这样做吗?延迟对委托方法的调用 - mapView:regionDidChangeAnimated:
3
A
回答
4
您可以实现像这样的方法:
-(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];
}
然后,在同一类的地方:
-(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
}
当然,如果你不需要的那些论据之一(无论是mapView
或者animated
),只要通过你需要的那个,你就可以使这变得相当简单。
如果你不能只编辑MKMapViewDelegate
的代码,也许你可以做类似的方法调整,但你真的真的 hacky。
0
您可以发送performSelector:withObject:afterDelay:
或其相关方法之一的延迟信息。
相关问题
- 1. 延迟NSFetchedResultsController委托方法
- 2. 在延迟后在对象上调用委托方法
- 3. UIImagePickerController didFinishPickingMediaWithInfo委托调用被延迟?
- 4. ASIFormDataRequest:委托对象发布时的委托方法调用
- 5. 委托方法调用
- 6. 调用委托方法
- 7. 延迟后调用方法?
- 8. ,委托对象如何知道调用委托对象上的WHICH方法?
- 9. 在其委托回调方法中释放委托对象
- 10. C#:延迟加载,委托类,反射
- 11. 调用常用方法的类 - 委托?
- 12. 调用UBarButtonItem的rightBarButtonItem的委托方法
- 13. 调用UIPopover的委托方法
- 14. 未调用的CAAnimation委托方法
- 15. 不要调用CKRadialMenu的委托方法
- 16. 调用可选的委托方法
- 17. 如何从Cocoa中的子类委托方法调用超类委托方法?
- 18. 委托中未调用CAAnimation委托方法
- 19. VB6接口方法的延迟调用
- 20. 委托方法
- 21. 委托方法
- 22. SWTableViewCell委托方法没有被调用
- 23. 直接调用UITableViews委托方法
- 24. UITableViewController不调用委托方法
- 25. NSURLConnection不调用委托方法
- 26. UIActionSheet委托方法不会被调用
- 27. URLConnection委托方法没有被调用
- 28. NSTableView委托方法不会被调用
- 29. 方法委托不会被调用
- 30. Proble调用自定义委托方法
感谢男士的帮助 – Nanz 2010-04-22 13:22:34