J'ai une application basée sur une barre d'onglets avec une navigation sur chaque élément de la barre d'onglets. Lorsque je navigue vers une autre vue sur un élément de la barre d'onglets et que je clique sur l'élément de la barre d'onglets, le contrôleur de la vue racine sur cet élément de la barre d'onglets est appelé. C'est comme PopToRootView. Pouvons-nous désactiver cette situation?Désactiver la barre d'onglets en accédant à la vue racine
Répondre
Bien qu'ils disent que vous n'êtes pas censé sous-classer UINavigationController
, vous pouvez ce que vous voulez en faisant une sous-classe de UINavigationController
et en remplaçant la méthode - (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;
. Faire ceci (et ne pas appeler le super popToRootViewController) empêchera les contrôleurs de vue de sauter lorsque vous cliquez sur l'élément de la barre d'onglets. Cela pourrait vous causer des problèmes, mais j'espère que cela fonctionne pour vous.
Oui, vous pouvez désactiver l'popToRootViewController
automatique en mettant en œuvre la méthode UITabBarControllerDelegate
sur votre contrôleur de vue:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if(self.navigationController == viewController) {
return NO;
}
return YES;
}
Merci à: Disable action - user taps on tabbar item to go to root view controller
- Inclure UITabBarControllerDelegate dans votre fichier d'en-tête.
essayez ceci:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController { if(bool_youDontWantPopToRootView) return (tabBarController.selectedViewController != viewController); return YES; }
Pour bool_youDontWantPopToRootView, vous pouvez ajouter la condition en quand vous voulez qu'il se comporte comme comportement par défaut.
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;
lorsque vous passez « NON » dans l'argumentation d'animation vous serez dirigé vers vue racine sans aucune animation
vous ne avez pas besoin d'utiliser cette méthode pendant que vous tapez sur l'un barre d'onglets son comportement par défaut du contrôleur de navigation qu'il maintient sa propre pile de VCs
- 1. Comment désactiver la barre d'état?
- 2. Désactiver l'action - l'utilisateur appuie sur l'élément de la barre d'onglets pour accéder au contrôleur de la vue racine
- 3. Désactiver la barre d'outils?
- 4. Comment activer/désactiver la barre d'état?
- 5. Désactiver l'animation de la barre de navigation
- 6. Désactiver la barre de retour de la barre de navigation
- 7. Initialisation Détail Vue de la plume avec les paramètres passés à partir de la vue racine
- 8. désactiver la barre de défilement dans IE
- 9. comment désactiver la barre d'outils de l'image
- 10. Comment mettre à jour la vue racine en fonction de la sélection dans la vue détaillée dans l'application iPad basée sur la vue éclatée?
- 11. Comment masquer/désactiver uniquement la première barre d'uinavigation?
- 12. Ajout d'éléments de la barre de navigation à la vue secondaire dans IB
- 13. Activer/désactiver la vue de datatemplate
- 14. Qu'arrive-t-il à la vue racine dans UINavigationViewController lorsque vous appuyez sur une nouvelle vue?
- 15. Comment désactiver tous les éléments de la barre d'onglets?
- 16. Rafraîchissement d'un contrôleur de vue de la barre de navigation
- 17. Racine racine de la servlet
- 18. Android: Définir l'espacement à gauche de la barre de défilement dans la vue en grille
- 19. Service Web accédant à la base de données client
- 20. Silverlight - lier la colonne DataGrid à la propriété racine du modèle de vue?
- 21. Comment faire pour que le bouton "more" d'un UITabBarController retourne à la vue racine
- 22. Java accédant à des variables en utilisant
- 23. Désactiver la barre de défilement dans MDI Parent
- 24. désactiver la barre de défilement sur le div
- 25. Le bouton Précédent permet d'accéder à la vue racine depuis que j'ai ajouté un clapet
- 26. Ajout de UITableView à la sous-vue lors de la modification de la barre de recherche
- 27. C# winforms comment désactiver la barre de défilement de richtextbox
- 28. Noeud racine XML avec barre oblique ... inexpliquée?
- 29. Comment désactiver la barre de recherche du contrôleur audio
- 30. Comment activer/désactiver les éléments de la barre d'outils?
Pourriez-vous me dire ce que signifie - (NSArray *) popToRootViewControllerAnimated: (BOOL) animé; en passant comme 'NON' dans le paramètre animé. – Himanshu
@mjdth Est-ce que vous savez par hasard que le problème n'est pas quelque chose comme "App se faire rejeter par Apple"? Sinon, cela fonctionne comme un charme. Merci pour votre conseil. –