The default behavior for wireframes, as you have noticed, means that any event can happen at the same time if you want to.
Using the flag, as you do, is perfectly reasonable if your goal is to block a specific animation if it is already running.
If you want to conceptually go up one level and stop any touch events from entering the application at all during the animation, you can use:
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
paired with:
[[UIApplication sharedApplication] endIgnoringInteractionEvents];
Ben zotto
source share