It would be conflict if you try to enable tapGestureRecogizer
while disabling user interaction, so this is the most straight-forward solution in my honest opinion: Instead of turning off user interaction of the whole view, you should do that to each of the views that you want to not response to touches. For example:
- (void)revealController:(SWRevealViewController *)revealController willMoveToPosition:(FrontViewPosition)position
{
if (position == FrontViewPositionLeftSide) {
self.tapGestureRecognizer.enabled = YES;
self.button1.userInteractionEnabled = NO;
self.button2.userInteractionEnabled = NO;
self.tabBarController.tabBar.userInteractionEnabled = NO;
}
else if (position == FrontViewPositionLeft){
self.tapGestureRecognizer.enabled = NO;
self.button1.userInteractionEnabled = YES;
self.button2.userInteractionEnabled = YES;
self.tabBarController.tabBar.userInteractionEnabled = YES;
}
}