Add a white full-screen UIView to the window and animate its alpha (play with a duration and animation curve to get the result you want):
-(void) flashScreen { UIWindow* wnd = [UIApplication sharedApplication].keyWindow; UIView* v = [[[UIView alloc] initWithFrame: CGRectMake(0, 0, wnd.frame.size.width, wnd.frame.size.height)] autorelease]; [wnd addSubview: v]; v.backgroundColor = [UIColor whiteColor]; [UIView beginAnimations: nil context: nil]; [UIView setAnimationDuration: 1.0]; v.alpha = 0.0f; [UIView commitAnimations]; }
Edit: Remember to delete this view after the animation ends.
source share