Objetivo C: ¿Cómo deshabilitar la interacción del usuario con todas las barras de tabs excepto una?

Como lo sugiere el título, me gustaría poder bloquear todas mis barras de tabs a exception de una. Y solo después de que el usuario complete una acción, habilitaré todo el rest de las barras de tabs. ¿Cómo puedo hacer eso?

No lo he probado, pero de acuerdo con los documentos , puede devolver NO desde tabBarController:shouldSelectViewController: delegate.

[ACTUALIZACIÓN] Lo intenté por curiosidad, parece funcionar bien. Cree un nuevo proyecto desde la plantilla "Barra de tabs" y luego vaya a la -viewDidLoad de su FirstViewController. Añade esta línea:

 [self.tabBarController setDelegate:self]; 

y luego implementa el método de delegado:

 -(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController { if (userHasCompletedAction) { return YES; } return NO; } 

¡No olvide conformarse con <UITabBarControllerDelegate> en su file .h!

Espero que ayude.

Tienes que implementar este método

 - (void)tabBarController:(UITabBarController *)tabBarController1 didSelectViewController:(UIViewController *)viewController { if ([tabBarController1 selectedIndex]==0) { UITabBarItem *tabBarItem = [[[[self tabBarController]tabBar]items] objectAtIndex:1]; [tabBarItem setEnabled:FALSE]; } } 

Tienes que hacer algo como esto para deshabilitar los elementos de barra de barra requeridos.

El método tabBar:didSelectItem: en UITabBarDelegate podría ayudar.