2016-05-12 5 views
0

ich die Farbe eines meiner Schaltfläche Titel ändern möchten. Zuerst habe ich einige einfache Vermutungen versucht:Ändern der Farbe und Schriftgröße von Schaltfläche Titel in swift (für osx NICHT ios)

Button.title.textColor = NSColor(/*something*/) 
Button.Color = NSColor(/*something*/) 
Button.textColor = NSColor(/*something*/) 

Aber sie haben nicht funktioniert. Dann fand ich den folgenden Code im Internet:

Button.attributedTitle = NSAttributedString(string: /*something*/ , attributes: /*something*/ [NSForegroundColorAttributeName : NSColor(/*something*/), NSParagraphStyleAttributeName : NSMutableParagraphStyle() ]) 

Aber es ist lang und kompliziert und kann nicht die Farbe ändern, ohne Zuweisung zusätzlicher Merkmale (außer sie auf die Standardwerte verlassen in der Interface Builder festgelegt); Außerdem, am wichtigsten, wenn ich es benutze, ändert es die Schriftgröße auf eine kleine Schriftgröße (ich ignoriere die Schriftgröße, die ich im Interface Builder eingestellt habe) und ich weiß nicht, wie ich es wieder ändern kann. Gibt es einen besseren Code, den ich verwenden kann? Wenn nicht, wie kann ich einen Wert für die Schriftgröße im obigen Code zuweisen?

+0

Ich habe gerade, dass eine kleine Weile zu setzen verwenden. Siehe diesen Beitrag: http://stackoverflow.com/questions/31088172/how-to-set-the-title-text-color-of-uibutton und auch diesen Beitrag: http://stackoverflow.com/questions/36831596/ ios-button-title-color-wont-change –

+0

@Katherine Jenkins diese Beiträge sind für iOS nicht osx. Ich habe versucht, die Codes, aber sie haben nicht funktioniert –

+0

Entschuldigung. Das habe ich komplett vermisst. Mein Kollege hat mich gebeten, Sie zu verweisen: http://stackoverflow.com/questions/28608727/change-color-to-a-title-of-a-button-in-swift ... hoffe, dass der Link hilfreicher ist;) –

Antwort

2

, wenn Sie die Farbe ändern der Schaltfläche Titel möchten. benutze das.

// RedColor() nur als Beispiel.

Button.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal) 
+0

Das ist für Ios. Ich programmiere für osx –

+0

ohh. Entschuldigung ..... –

0

NSDictionary * dict = [NSDictionary dictionaryWithObject: [NSColor (/ ** etwas * /) forKey: NSForegroundColorAttributeName];

NSAttributedString * attr = [[NSAttributedString alloc] initWithString: @ "Text" Attribute: dict];

[Button setAttributedTitle: attr];

+0

Wenn ich es verwende, ändert es die Schriftgröße und ich weiß nicht, wie ich es zurück ändern kann. Das ist das Problem, das ich in der Frage –

+0

erwähnt habe. Sie können die Schriftgröße auch zum Attributverzeichnis hinzufügen: [NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys: [NSColor colorWithRed: 1.0 grün: 0.0 blau: 0.0 alpha: 1.0] , NSForegroundColorAttributeName, [NSFont fontWithName: @ "HelveticaNeue" Größe: 5.0f], NSFontAttributeName, nil]; – dhruv

+0

Sie können die Schriftgröße, die Sie in Interface Builder mit dem folgenden Code festgelegt haben, erhalten: float size = Button.font.pointSize; – dhruv