2012-02-22 14 views
8

¿Cómo agrego un contorno negro a mi texto UILabel blanco?Esquema para el texto UILabel

+0

verifique esto: http: //stackoverflow.com/a/1424665/845115 –

+0

¿quiere decir borde negro? – rakeshNS

+0

@rakeshNS sí Quiero un borde negro alrededor del texto de la etiqueta. – hgpl

Respuesta

9

Una opción es establecer la sombra, que podría no ser exactamente lo que quiere, pero logra un efecto similar. Se puede ajustar manualmente el desplazamiento:

UILabel *myLabel = ...; 
lbl.shadowColor = [UIColor whiteColor]; 
lbl.shadowOffset = CGSizeMake(0, -1.0); 

Tenga en cuenta que también puede definir esto en el Interface Builder para su UILabel.

shadow http://i.minus.com/jbiG0jVdOxJbgh.png

Si esto no es suficiente para que usted echa un vistazo a este blog post que se ocupa de la subclasificación UILabel para conseguir un efecto de resplandor:

glow http://www.redrobotstudios.com/blog/wp-content/uploads/2010/04/glow1.png

+0

Haciendo esto de esta manera, o bien agrega un contorno borroso, o el trazo/contorno se compensa. Consulte este enlace para obtener una excelente solución: http://stackoverflow.com/a/15877054/254598 – Maurizio

2

Para iOS5, la forma habitual es utilizar CoreGraphics para establecer el relleno/trazo y luego renderizar los gráficos. Sin embargo, puede ser bastante complicado conseguir la alineación correcta para todos los tamaños de fuente.

Recomiendo mirar mi solución here. Puede usarlo directamente (también tiene sombras difusas), o simplemente seleccionar el código que hace el contorno. Para iOS6 hay una solución más ordenada (más pequeña) que funciona aún mejor. Mire here.

+1

iOS6 ya salió, ¿podría hablarnos sobre la solución más ordenada? No pude resolverlo. –

+0

Sí @Nuoji, también estoy interesado en conocer la solución iOS 6. – flainez

+0

Como has visto, he actualizado mi respuesta con un enlace a la solución iOS 6. – Nuoji

1

Estoy seguro de que el código this resolverá su problema.

En la clase KSLabel.m ver esta línea de código

// Outline color 
self.textColor = [UIColor whiteColor]; 

cambio a

self.textColor = [UIColor blackColor]; 

y verá el borde negro del texto.

5

Divulgación: Soy el desarrollador de THLabel.

He lanzado una subclase UILabel hace un tiempo, lo que permite un esquema en texto y otros efectos. Puede encontrarlo aquí: https://github.com/tobihagemann/THLabel

Estoy utilizando Core Text y Core Graphics para lograr el efecto.

+1

Simplemente lo instalé, funciona sin problemas hasta ahora, bien hecho. – TaylorAllred