2011-01-03 6 views
36

Ich habe das Internet durchsucht und ich kann keine gute Antwort bekommen, obwohl ich mir sicher bin, dass das sehr einfach ist. Kann mir bitte jemand zeigen, wie man das folgende macht: Machen Sie einen UIFont des Namens "Helvetica-Bold", Größe 8.0, und Farbe von Schwarz.Wie ändern Sie die Farbe eines UIFont?

Ich habe den Namen und die Größe bekam, aber ich kann nicht herausfinden, wie die Farbe zu ändern:

UIFont *textFont = [UIFont fontWithName:@"Helvetica-Bold" size:8.0]; 

Dank!

Antwort

51

UIFont enthält keine Farbinformationen, daher ist dies nicht möglich. Im Allgemeinen haben Steuerelemente, die UIFont verwenden, z. B. ein UILabel, eine Schriftart und eine textColor-Eigenschaft. So würden Sie mit einem Etikett des Schriftart gesetzt und es ist Farbe wie folgt aus:

myLabel.textColor = [UIColor blackColor]; 
myLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:8.0]; 
+1

Diese Funktionalität ist von IOS 6.0 entfernt – iosMentalist

+0

Ich denke, es funktioniert. Ich habe gerade diese in swift eine Wechselschriftfarbe für eine UILabel zu bekommen: Command + = 1 label.textColor = [.white, .black] [Command% 2] – MarkAurelius

1

Sie auch [myLabel setTextColor:[UIColor grayColor]]; verwenden können.

+1

diese Funktionalität von IOS 6.0 – iosMentalist

4

Wird durch Zufall sind Sie die Schrift auf eine Textur in OpenGL-Rendering, können Sie auch die CGContext* functions,

Angenommen, Sie bereits eine gültige CGcontext haben:

CGContextSelectFont(cgContext, "Arial", 24, kCGEncodingMacRoman); 
CGContextSetRGBStrokeColor(cgContext, 1.0f, 1, 1, .5f) ; 
CGContextShowTextAtPoint(cgContext, 20, 20, "HI THERE", strlen("HI THERE")) ; 
+0

Hinweis entfernt, dass CGContextSelectFont ist jetzt veraltet, verwenden Sie stattdessen die CoreText-API. – Reyske

3

Wenn Sie zeichnen Text können Sie folgende Funktion verwenden;

[text drawAtPoint:CGPointMake(x, y) withAttributes:@{ NSFontAttributeName: [UIFont systemFontOfSize:sizeOfFont], NSForegroundColorAttributeName:[UIColor redColor] }];