In this post, we will define how to put press effect on tap gesture on UIView.

1. First of all choose the view on which you want to put button press effect.
Ex: Lets say we have a view with name tappedView

2. Change background color of the view before doing the effect of tap.

    tappedView.backgroundColor = [UIColor lightGrayColor];

3. Then queue the reverse of step 2 to happen in future and after that perform what you wanted to do on tap.
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, .05 * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        tappedView.backgroundColor = [UIColor whiteColor];
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
        UIViewController *nextViewController = [storyboard instantiateViewControllerWithIdentifier:@"viewControllerIdentifier"];
        [UIView  beginAnimations:nil context:NULL];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
        [UIView setAnimationDuration:0.75];
        [self.navigationController pushViewController:nextViewController animated:NO];
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
        [UIView commitAnimations];