Il valore predefinito per [NSTextView selectedTextAttributes]
è inutilizzabile nella mia app, perché consente all'utente di selezionare i colori (evidenziazione della sintassi) che sono quasi esattamente come il colore di sfondo.Come posso impostare [NSTextView selectedTextAttributes] su una finestra di sfondo?
ho scritto un po 'di matematica per determinare un colore adatto e posso usare questo per impostarlo:
textView.selectedTextAttributes = @{
NSBackgroundColorAttributeName: [NSColor yellowColor],
NSForegroundColorAttributeName: [NSColor redColor]
};
Ma quando la finestra è in background, si utilizza ancora il grigio chiaro di default del sistema.
Ho allegato schermate del codice precedente con finestra attiva e inattiva. - Come posso cambiare il colore di sfondo del testo selezionato della finestra inattiva?
Avete provato la sottoclasse di NSWindow e l'esecuzione di override di 'resignKeyWindow'? – CodaFi
@CodaFi cosa devo fare in quel metodo? Ho appena provato a impostare selectedTextAttirbutes ma non ha alcun effetto. –
Hm ... Controlla NSWindow.h. C'è un carico di funzioni che puoi usare per aggrapparti quando la finestra si dimette/ottiene lo stato della chiave. Puoi assegnare gli attributi da lì. – CodaFi