2009-07-09 9 views

Respuesta

30

Si por las adiciones NSString UIKit, te refieres a la categoría drawAtPoint métodos: y drawInRect :, entonces todo lo que necesita hacer para cambiar su color es dibujado lugar

CGContextSetFillColorWithColor(context, textColor); 

antes de llamar a drawAtPoint: o drawInRect :. El color de relleno del contexto se usa como el color del texto cuando se dibuja manualmente.

+3

Para obtener 'context' mientras está en' -drawRect: ', uno querrá usar' UIGraphicsGetCurrentContext () '. O simplemente use la solución limpiadora de @ DaveVerwer. –

0

En el escritorio, puede usar NSAttributedString, pero esto no está disponible en el iPhone. Si solo intenta poner texto en color en la pantalla, la manera más fácil es simplemente usar un UILabel. Puede manipular el texto, la fuente y el color de esta manera:

myLabel.text = @"Your text"; 
myLabel.font = [UIFont boldSystemFontOfSize:16]; 
myLabel.textColor = [UIColor redColor]; 
1

El NSString en sí no tiene conocimiento de cómo se mostrará; es simplemente datos. La pantalla se maneja en cualquier vista que presente el texto al usuario. Puede ser un UILabel, un UITextfield, etc. Estas clases suelen almacenar su texto en UILabel o en una propiedad de texto. El color del texto por lo general se puede establecer con:

aLabel = [[UILabel alloc] init]; 
aLabel.text = @"My String"; 
aLabel.textColor = [UIColor blackColor]; 
+0

Esto no ocurre con UIKit. UIKit ha agregado muchos métodos a NSString que son útiles para calcular cómo se procesará el texto. http://developer.apple.com/library/ios/#documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html – Kekoa

50

La solución de Brad agrega bastante código si no tiene un contexto práctico (por ejemplo, si está haciendo esto en un método drawRect:).

La manera de hacerlo sin equipo eléctrico es

[[UIColor redColor] set]; 

o cualquier color que desee.

+1

Gracias, esto funciona perfecto, simple y RÁPIDO: D! (Es más rápido que NSString drawInRect que UILabel) – elslooo

+9

Nombre del método más descriptivo de Apple ?? –

+0

Después de probar la solución de @Brad y obtuve el error CGContextSetFillColorWithColor: contexto inválido 0x0, no se puede resolver, me desplazo hacia abajo y [[UIColor redColor] establezco] salvar mi vida;) :) –

Cuestiones relacionadas