Desactivar acción: el usuario toca el elemento de la barra de pestañas para ir al controlador de vista raíz

Quiero deshabilitar la acción predeterminada cuando el usuario toca el elemento de la barra de pestañas.

Por ejemplo, tengo una barra de pestañas con Tab1, Tab2 y Tab3. En Tab1, el usuario puede navegar de View1 a View3 (View1> View2> View3). Si el usuario está en View3 y toca la Tab1, la aplicación lleva al usuario a View1 (el controlador de vista raíz). Quiero deshabilitar esta funcionalidad. No quiero que el toque en Tab1 muestre todos los controladores de vista. ¿Cómo puedo hacer eso?

Editar:

¡Este comportamiento es un poco extraño, pero es un atajo útil en caso de una jerarquía profunda!

Puede implementar los siguientes métodos UITabBarControllerDelegate para deshabilitar este acceso directo en todo el sistema:

#pragma mark -
#pragma mark UITabBarControllerDelegate

- (BOOL)tabBarController:(UITabBarController *)tbc shouldSelectViewController:(UIViewController *)vc {
    UIViewController *tbSelectedController = tbc.selectedViewController;

    if ([tbSelectedController isEqual:vc]) {
        return NO;
    }

    return YES;
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta