2010-09-26 6 views
27

Je fais une petite application avec trois NSButtons avec un ensemble d'images. Ces boutons n'ont pas de bordure ni d'arrière-plan. Cependant, lorsque je clique sur un bouton, il se transforme en un rectangle gris.NSButton sans bordure devient gris lorsque cliqué

Comment puis-je résoudre ce problème? Merci.

Répondre

63

Faites votre type de bouton comme NSMomentaryChangeButton. Si vous utilisez NSMomentaryPushInButton, vous pouvez obtenir un rectangle gris sur le bouton lorsque vous cliquez sur.

+0

Et quoi d'autre? Pourriez-vous ajouter un peu plus d'informatio. Cochez cette [question metaSO] (http://meta.stackexchange.com/questions/7656/how-do-i-write-a-good-answer-to-a-question) et [Jon Skeet: Coding Blog] (http://msmvps.com/blogs/jon_skeet/archive/2009/02/17/answering-technical-questions-helpfully.aspx) sur comment donner une réponse correcte. – Yaroslav

+1

Édité ma réponse. Il n'y a rien de plus que ça. –

+8

Cela a fonctionné pour moi. – arooo

12

Vous devriez pouvoir régler cela en changeant le masque d'état. Pour ce faire, consultez les propriétés highlightsBy: et showsStateBy: de NSButtonCell - elles servent à régler l'effet de la presse et à afficher l'effet respectivement. Les constantes applicables à ces méthodes sont les suivantes: NSCell reference page.

+4

Je cherchais depuis longtemps les drapeaux. Donc, voici la solution en tant qu'addendum (merci à Sean Rich pour cette aide): [self.button.cell setShowsStateBy: NSPushInCellMask]; [self.button.cell setHighlightsBy: NSContentsCellMask]; Si vous changez les deux masques, seuls vos graphiques seront affichés comme spécifié dans IB. – JackPearse

+0

Cela a fait ma journée. Merci! – Stream

+0

Merci Sean, m'a conduit dans la bonne direction! – ixany

0

Si vous utilisez une NSBox, assurez-vous que votre bouton se trouve à l'intérieur de NSBox dans la hiérarchie. Ensuite, utilisez 'Pousser momentanément' comme type de bouton. Le bouton va s'assombrir quand on clique mais il n'y aura pas de bordure. Lorsque j'utilisais NSBox avec NSButton au même niveau hiérarchique, je voyais la bordure lorsque je cliquais dessus.

Questions connexes