performSelector:withObject:afterDelay: not working from scrollViewDidZoom

I think that timer events are ignored during tracking (when a finger is down in order to scroll or zoom). You might have to perform the selector in a different mode (see [NSObject performSelector:withObject:afterDelay:inModes:]). Specifically, try using @[NSRunLoopCommonModes] for the mode.


Just to add onto what Brian said - here's my implementation of his answer:

[self performSelector:@selector(callMethod) withObject:0 afterDelay:1.0 inModes:@[NSRunLoopCommonModes]];

Note - inModes: takes an array of modes.