Swift ajouter un badge à la navigation barButtonItem et UIButton
J'essaie d'afficher badge sur mon bouton de notification, en application affichée sur AppIcon.
Jusqu'à présent tout ce que j'ai fait des recherches est lié à Obj. C, mais rien de spécifiquement discuté de la façon de mettre en œuvre cette solution dans Swift,
S'il vous plaît aider à trouver une solution pour ajouter une classe personnalisée /code pour obtenir l'Insigne sur UiBarbutton et UiButton.
Étudié jusqu'à présent:
https://github.com/Marxon13/M13BadgeView
avec MKBadge classe etc.
Pour
UIBarButtonItem
vous pouvez essayer ce projet: ENMBadgeBarButtonItem
OriginalL'auteur coolagrwal | 2015-07-06
Vous devez vous connecter pour publier un commentaire.
Il y a une solution plus élégante avec une extension pour UIButtonItem
Ce grand code a été créé par Stefano Vettor et vous pouvez trouver tous les détails au:
https://gist.github.com/freedom27/c709923b163e26405f62b799437243f4
OriginalL'auteur Julio Bailon
Solution De Travail :
L'étape 1:
Tout d'abord de créer de nouvelles swift fichier qui est une sous-classe de UIButton comme suit:
L'étape 2:
Créer une fonction dans votre fichier de base qui u peut utiliser dans chaque Vue-Contrôleur :
L'étape 3 :
Utiliser la fonction ci-dessus à partir de n'importe quel Affichage de Contrôleur de cette façon :
OriginalL'auteur Shivam Tripathi
à l'aide de M13BadgeView.. l'utilisation de ce code
(im en utilisant fontawesome.swift pour les boutons :: https://github.com/thii/FontAwesome.swift)
OriginalL'auteur keithics
J'ai eu la même tâche. Je ne voulais pas utiliser des bibliothèques tierces. Tout d'abord, j'ai essayé Stefano solution et c'est super mais j'ai décidé de réaliser ma propre façon de le résoudre.
À mon humble avis, il y a des étapes décrites brièvement ci-dessous:
UIView
instance dans un délai de.xib
fichier et mettre les éléments nécessaires tels queUILabel
ouUIImageView
fonction de vos exigences de conception.La dernière action que j'ai fait dans cette étape est de mettre le bouton invisible dans le top de vue de la hiérarchie.
YourCustomView.swift
et de relier tous les@IBOutlets
dexib
dans le fichier en cours à l'intérieur de votre vue personnalisée implémentation de la classe.YourCustomView
classe qui se charge de l'affichage personnalisé de xib et le retourner commeYourCustomView
instance.Mon résultat est..
P. S. Si vous avez besoin de mettre en œuvre
@IBActions
je vous recommande de lier votre affichage personnalisé et personnalisé-vue-contrôleur à travers le modèle de délégué.OriginalL'auteur Ivan Shokurov
Bonne réponse @Julio Bailon (https://stackoverflow.com/a/45948819/1898973)!
Voici le site de l'auteur avec l'explication complète: http://www.stefanovettor.com/2016/04/30/adding-badge-uibarbuttonitem/.
Il semble ne pas fonctionner sur iOS 11, peut-être parce que le script essayez d'accéder à la "vue" de la propriété de la UIBarButtonItem. J'ai fait le travail:
Par la création d'un
UIButton
et puis la création de laUIBarButtonItem
à l'aide de laUIButton
comme un customView:Par le remplacement de la ligne dans le
UIBarButtonItem
extension:avec les éléments suivants:
Semble élégante pour moi, et le meilleur de tous, il a travaillé!
OriginalL'auteur Leandro
La MIBadgeButton-Swift travaille également sur UIBarButtonItems.
Voici mon code après la barre de navigation est créé:
Ce n'est pas de travail, confirmant....
pas de travail....
OriginalL'auteur Claudia Fitero
Vous pouvez le faire par programmation avec
ou utiliser la table de montage séquentiel. Voir:
OriginalL'auteur Petro Nepyivoda