Ich versuche, abgerundete Ecken um ein NSTextField zu zeichnen.NSTextField mit abgerundeten Ecken?
Ich habe NSTextField
, versucht, den Code unten, aber ohne Erfolg ...
subclassed?
- (void)drawRect:(NSRect)dirtyRect
{
// black outline
NSRect blackOutlineFrame = NSMakeRect(0.0, 0.0, [self bounds].size.width, [self bounds].size.height-1.0);
NSGradient *gradient = nil;
if ([NSApp isActive]) {
gradient = [[NSGradient alloc] initWithStartingColor:[NSColor colorWithCalibratedWhite:0.24 alpha:1.0] endingColor:[NSColor colorWithCalibratedWhite:0.374 alpha:1.0]];
}
else {
gradient = [[NSGradient alloc] initWithStartingColor:[NSColor colorWithCalibratedWhite:0.55 alpha:1.0] endingColor:[NSColor colorWithCalibratedWhite:0.558 alpha:1.0]];
}
[gradient drawInBezierPath:[NSBezierPath bezierPathWithRoundedRect:blackOutlineFrame xRadius:5 yRadius:5] angle:90];
}
Hmmm ... Es funktioniert nicht für mich ... –
Nun, ich habe gerade herausgefunden, was los war ... Ich habe eine 'setBackgroundColor:' und dann eine 'setDrawsBackground: YES' gesetzt, als ich die Textfeld-Instanz erstellt habe. Jetzt, als ich es entfernte, funktioniert es! ABER: wenn der Hintergrund NACH dem 'setBeelStyle:' hinzugefügt wird, bleibt der Hintergrund weiß ... Irgendwelche Vorschläge? –
@ Dr.Kameleon Sie möchten die Hintergrundfarbe ändern, wenn Benutzer auf TextField geklickt wird? während ersterResponder? Und zeige diese Farbe nicht, wenn es nicht ist? –