Quelle est la meilleure approche pour la création d'un custom tab bar controller?
Je suis en train de travailler sur une application qui est plus probable d'une tabBarController
application. Mais je ne peux pas utiliser le tabBarController
parce que j'ai besoin d'un custom tab
gestionnaire en bas j'ai aussi besoin de personnalisé l'espace entre les éléments. Je suis donc la création d'un custom tabBarController
.
Je voudrais savoir la meilleure approche. Actuellement, mon approche est de cette façon (à l'aide de storyboard
et iOS6
) :- j'ai pris un UIToolbar
sur ViewController
qui va agir comme un fond tab
bar(CustomTabBarViewController). J'ai pris ContainerViews
pour chaque onglet. Lorsque l'utilisateur sélectionne un élément sur toolbar
, je vais montrer que containerView
.
S'il vous plaît dites-moi si je vais mal ou guide de la meilleure façon. Merci.
Vous devez vous connecter pour publier un commentaire.
Vous êtes en train de faire très très mal. Ne pas créer un affichage personnalisé de la hiérarchie quand vous pouvez simplement utiliser celui par défaut.
Ce que vous voulez faire est de créer une sous-classe de
UITabBarController
et de créer une .xib fichier qui va contenir votre onglet personnalisé bar - simplement une image et une quantité arbitraire de UIButtons, je le suppose, 5).Définir des balises pour toutes, seulement 1 à 5 balises, vous pouvez éventuellement le faire avec un custom
UIView
sous-classe, mais qui serait redondant dans ce scénario, donc ça va être que de récupérer des contrôles avec des balises.Créer une sous-classe de la
UITabBarController
. Vous aurez besoin d'avoir les références de tous ces boutons et aussi une propriété à voir quel bouton a été pressé, de sorte que vous pourriez mettre à jour l'INTERFACE utilisateur de manière appropriée. Également affecter différentes images ou les titres des différents contrôle des états-unis, je suis en utilisant par défaut dans ce cas.MYBaseTabBarController.h
MYBaseTabBarController.m
Tout d'abord, créer la vue des contrôleurs (qui sont tous
UINavigationController
sous-classes dans ce cas) et de les assigner à vosUITabBarController
's sous-classe que l'viewControllers
propriété.Suivant prenez les boutons que vous avez créé précédemment, et d'attribuer des actions dans le
-viewDidLoad
méthode:Ajouter la méthode de traitement:
Et enfin remplacer le
-setSelectedViewController:
méthode:Je suis en supposant que vous êtes à la programmation avec l'ARC activé et que vous avez une classe qui gère vos storyboards, mais c'est assez simple de toute façon.
[self.view _tabbarView];
- regarde comme une faute de frappe.Code ci-dessous fonctionne parfaitement dans mon projet.
j'ai utilisé swift3 version comme ci-dessous :
j'ai ajouté MyTabBar.xib fichier qui contient UIView avec 4 boutons.
Dans le fichier xib, de Définir la Classe UIView. class = "MyTabBar"
Donner 4 boutons Étiquette de 1,2,3,4 en conséquence..
et ci-dessous myTabBarController fichier
myTabBarController.swift code comme ci-dessous :
}
De cette façon, vous pouvez concevoir personnalisé tabbar selon votre besoin.
Grâce
Voici l'étape que vous devez suivre afin de faire le point de vue suivant :-
1: Prendre un UITabBarController et le définir comme le rootViewController de la fenêtre d'application.
2: ajouter Maintenant Cinq Onglet à cette UITabbarController .
3: Ajouter cinq séparée UINavigationController pour chaque Onglet individuellement.
4: ajouter Maintenant cinq différents UIViewControllers à la UINavigationController respectivement.
5: Créer un Personnalisé Tabbar maintenant :
5.1 : Un de la manière de créer des Tabbar est de prendre une UIView de Tabbar hauteur et ajouter UIButtons que l'Onglet de la Tabbar.
6: Ajouter la Coutume tabBar sur le MainWindow . Sur le choix des différents boutons sur votre personnalisé tabbar changer le setSelectedIndex de votre application UITabbarController.
Pour ios 9.0+
utilisation UIStackView dans le sens Horizontal et créer un xib et l'a nommé
CustomTabBarView
CustomTabBarView.Xib
Créer Un Autre Point De Vue CustomTabBarItem.
CustomTabBarItem.xib
créer CustomTabBarItem.swift fichier pour mettre en œuvre la fonctionnalité de TabItem
}
Dans TabBarViewController Mettre En Œuvre Ce Code