Desativar ação - o usuário toca no item da barra de guias para acessar o controlador de visualização raiz
Desejo desativar a ação padrão quando o usuário toca no item da barra de guias.
Por exemplo, eu tenho uma barra de tabulação com Tab1, Tab2 e Tab3. Na Guia1, o usuário pode navegar da Visão1 para a Visão3 (Visão1> Visão2> Visão3). Se o usuário estiver no View3 e tocar na guia Tab1, o aplicativo levará o usuário ao View1 (o controlador de visualização raiz). Eu quero desativar esta funcionalidade. Não quero que a torneira da Tab1 apareça em todos os controladores de exibição. Como eu posso fazer isso?
Editar:
Esse comportamento é um pouco estranho, mas um atalho útil em caso de hierarquia profunda!
Você pode implementar os seguintes métodos UITabBarControllerDelegate para desativar esse atalho amplo do 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;
}