Всякий раз, когда пользователь прокручивает карту или масштабирует ввод/вывод, этот метод вызывается мгновенно. Я хочу отложить вызов этого метода, скажем, 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
, возможно, вы могли бы сделать что-то подобное с помощью метода swizzling, хотя тогда вы получаете действительно Hacky.
0
Вы можете отправить сообщение с задержкой performSelector:withObject:afterDelay:
или один из связанных с ним методов.
Смежные вопросы
- 1. mapView: regionDidChangeAnimated: never called
- 2. Задержка вызова метода класса
- 3. Задержка вызова метода
- 4. Задержка вызова метода
- 5. Предотвращать частоту вызова метода делегата
- 6. Производительность метода отражение вызова против делегата вызова
- 7. Как подождать до вызова метода делегата?
- 8. UITableView вызова метода делегата, когда DataSource пуст
- 9. UIViewController освобождается до вызова метода делегата
- 10. Задержка вызова метода без сохранения цели
- 11. Задержка вызова метода в Objective-C
- 12. AngularJS/машинописный - Задержка вызова метода $ области действия
- 13. Конструктор вызывает переопределение метода (задержка вызова)
- 14. regionDidChangeAnimated не работает
- 15. multiple regionDidChangeAnimated calls - что дает?
- 16. animateWithDuration не работает внутри метода делегата GMSMapView
- 17. GWT- Задержка асинхронного вызова
- 18. Не вызывать делегата MKMapView (mapView: ViewForAnnotation)
- 19. Уникальный способ вызова метода вызова
- 20. метод вызова делегата (IOS)
- 21. Задержка срабатывания вызова функции
- 22. Задержка конструктора вызова
- 23. Задержка вызова Ajax
- 24. Задержка вызова очереди сообщений?
- 25. Задержка вызова функции jquery
- 26. .Net Задержка переадресации вызова
- 27. Попытка вызова пользовательского метода делегата подкласса UITextField в iOS
- 28. iAd не отображается асинхронно после вызова метода делегата
- 29. почему выбор индекса tabbarController Programatically оленья кожа вызова метода делегата
- 30. Google не зарегистрировались вызова метода делегата после успеха
благодарит человека за помощь – Nanz