There is a dedicated method in UITabBarControllerDelegate
for this:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
Just return NO
if you don't want the user to be able to select a given tab bar item.