Desidero disegnare il testo in un UITextField con un'ombra. Per fare questo, ho sottoclasse UITextField, e implementato il metodo drawTextInRect:
come segue:UITextField shadow non viene visualizzato durante la modifica
- (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];
}
Questa grande opera per quando il campo di testo non sta modificando, ma non appena inizia la modifica, l'ombra scompare. C'è qualcosa che mi manca?
che ho visto questo prima su Mac OS X, e in questo caso è stato perché l'editor campo non afferrare l'ombra attributi dal 'NSTextField' e, quindi, non ha mostrato l'ombra. Non so se ci sono editor di campo in iOS, ma ho pensato di commentare. – Vervious
Ho fatto qualche ricerca su google e non sembra che UITextField usi editor di campo, quindi ignora il mio commento precedente. – Vervious
ti rendi conto che aggiungere un'ombra esterna al testo così piccolo su iOS renderà il testo quasi illeggibile. –