UISegmentedControl avec numéro de badge
-
28-09-2019 - |
Question
Tout comme la barre d'onglets, je veux montrer badge sur UISegmentedControl
. Comme je ne peux pas voir les méthodes prédéfinies pour UISegmentedControl
comme disponible pour UITabBar
.
Je pensé à ajouter le badge comme une image juste au-dessus de celui-ci, mais peut-être il y a une manière mieux.
La solution
est une petite bibliothèque tierce partie, je l'ai utilisé pour dessiner des badges sur diverses choses. Il est assez agréable. Par exemple, en changeant la couleur du badge pour correspondre à ma conception était trivial.
Une fois que vous apportez cette classe dans votre projet et l'inclure dans votre contrôleur de vue, vous allez:
CustomBadge *customBadge1 = [CustomBadge customBadgeWithString:@"Badge 1"];
... puis ajouter customBadge1 comme sous-vue de quelque chose que vous badging.
Autres conseils
J'ai eu ce problème aujourd'hui, donc je l'ai mis en place une sous-classe de UISegmentedControl qui vous permet de numéros de badge facilement ensemble sur chacun des segments.
En utilisant c'est aussi simple que:
[segmentedControl setBadgeNumber:1 forSegmentAtIndex:0];
Capture d'écran, la documentation et le code source sont à https://github.com/dave-thompson/MESegmentedControl .
Il n'y a pas de propriété badge ou méthode - contrairement à la barre d'onglets. Si vous voulez faire cela, vous aurez juste à mettre une image personnalisée dessus. Vous pouvez sous-classe le contrôle segmentée et créer une fonction qui le fait pour vous.