Un bouton semblable à ceux d'Xcode
berfis
Membre
Bonjour,
Je cherche à reproduire le style de bouton de Xcode, qui passent au bleu quand leur state==1.
Pour l'instant de m'en sors en définissant juste une image noire pour le state 0, et une autre, bleue, pour le state 1, et je les place dans IB (image / alternate).
Je ne demandais si, en dérivant NSButtonCell, il y avait moyen de ne définir que l'image noire, et de la "bleuir" dans drawWithFrame...
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Voila une catégorie trouvé sur internet qui pourrait te donner une piste
Si non voici des liens qui pourraient te guider:
https://www.cocoacontrols.com/controls/inspectortabbar
https://www.cocoacontrols.com/controls/dmtabbar
Merci Jeremy1729, voici la version que j'ai finalement adoptée:
Je fais une copie de l'image dans une propriété que je recopie ensuite à chaque dessin, pour en faire l'image du bouton.
Question: est-ce que je risque des leaks en procédant ainsi ?
Etant donné que tu fais un "copy", il faut qu'il soit balancé par un "release" ou un "autorelease". A la fois dans le code "self.original = [self.image copy]" et dans le "copiedImage = [self.originalImage copy]". Sauf évidemment si tu utilises ARC où dans ce cas c'est ARC qui va gérer la mémoire et ces release/autorelease pour toi.
Juste. J'ai redéfini les deux images dans awakeFromNib. Aujourd'hui les Macs dessinent tellement vite qu'on en oublie les bons réflexes...
Et pour le reste, j'utilise ARC, mais il ne met pas toujours à l'abri des leaks... Je préférais être sûr.
J'ai déjà eu a faire avec un problème de ce genre. Ma solution a été de créer une police avec ces images.
C'est beaucoup plus simple de les colorer
NiClou,
Les colorer certainement. Créer une police... je me demande s'il y a gain. En plus il faut inclure la police dans le bundle. Quelle taille, le fichier? Un petit PNG se compte en octets...
En plus, il y a le côté Template de l'image, qui donne ce joli relief. Comment faire ça avec une fonte?
Alors la taille je serais incapable de te répondre c'était sur un vieux projet dans une ancienne boite.
Cependant, l'intégration d'une fonte n'est pas compliqué, ce qui est compliqué est de savoir à quelle lettre ton image correspond.
Je ne pense pas que ce soit très lourd, d'autant plus que ce sont des petites images, après il est vrai que tu n'auras pas de relief.
Du temps du Pascal, j'avais employé exactement le même truc en bricolant une fonte bitmap maison avec ResEdit. C'était sportif! ^_^