Quiero dibujar el texto en un UITextField con una sombra. Con el fin de hacer esto, he subclase UITextField, y puesto en práctica el método drawTextInRect:
de la siguiente manera:UITextField shadow no se muestra al editar
- (void)drawTextInRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
// Create shadow color
float colorValues[] = {0.21875, 0.21875, 0.21875, 1.0};
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGColorRef shadowColor = CGColorCreate(colorSpace, colorValues);
CGColorSpaceRelease(colorSpace);
// Create shadow
CGSize shadowOffset = CGSizeMake(2, 2);
CGContextSetShadowWithColor(context, shadowOffset, 0, shadowColor);
CGColorRelease(shadowColor);
// Render text
[super drawTextInRect:rect];
}
Esto funciona muy bien para cuando el campo de texto no está editando, pero tan pronto como comienza la edición, la sombra desaparece. ¿Hay algo que me falta?
que he visto esto antes en Mac OS X, y en ese caso fue debido a que el editor de campo no agarrar atribuye la sombra del 'NSTextField' y por lo tanto no se presentó a la sombra. No sé si hay editores de campo en iOS, pero pensé en comentar. – Vervious
Hice algunas búsquedas en Google y no parece que UITextFields use editores de campo, por lo que ignoro mi comentario anterior. – Vervious
te das cuenta de que agregar una sombra paralela al texto tan pequeño en iOS hará que el texto sea casi ilegible. –