2016-11-13 1 views
0

J'ai NSButtons créé en Storyboard que je voudrais changer la couleur d'arrière-plan. J'ai cherché SO et Google mais aucune des solutions ne fonctionne réellement sur mon projet ou même un projet de test simple. J'ai essayé:NSButton ensemble couleur de fond macOS 10,12

  1. Réglage du button.layer.backgroundColor (y compris avec et sans importation et la mise en QuartzCore wantsLayer).
  2. Obtenir le NSButtonCell du NSButton et en changeant la couleur de fond. J'ai essayé ceci avec bordered, unbordered, transparent, etc. Aucun changement dans la couleur de fond. J'ai essayé de changer de carré en dégradé, pas de chance.
+0

Je ne sais pas, je comprends la question, mais je besoin d'un bouton rectangulaire redimensionnable. J'ai essayé plusieurs types, carré, dégradé ... – Tim

Répondre

1

Cela doit être un bogue dans Mac OS. Je peux faire la NSButtonCell répondre à backgroundColor simplement par le sous-classement avec une classe avec une dérogation EMPTY EMPTY:

class ColorButtonCell: NSButtonCell { 
    override func draw(withFrame cellFrame: NSRect, in controlView: NSView) { 
     super.draw(withFrame: cellFrame, in: controlView) 
    } 
} 

Lorsque vous utilisez cette sous-classe, tout fonctionne comme prévu!