you could use
[self performSelector:<#(SEL)aSelector#> withObject:<#(id)anArgument#> afterDelay:<#(NSTimeInterval)delay#>];
you'll need to set up some new things:
- your animatingNavBar method will not be able to return anything now because of the delay thing. Instead it will call a new method after a 3s delay which will return a BOOL.
- Your new method can't return a bool just like that because the rest of the app doesn't know when it will be called (because of the delay) so it'll be better to post your bool result with a NSNotification or you can call it directly like this:
[self performSelector:@selector(methodThatUsesMyBool

withObject:myBool afterDelay:3.0f];