在 iOS 6.x 中,如果您要求收到 a 的通知UITextFieldTextDidChangeNotification
,然后在该通知中调整字体大小,则光标会混淆并将其自身绘制到错误的位置。
@implementation MyTextField
- (id)initWithCoder:(NSCoder*)coder
{
if (self = [super initWithCoder:coder])
{
[NSNotificationCenter.defaultCenter addObserver:self
selector:@selector(textFieldDidChange:)
name:UITextFieldTextDidChangeNotification
object:self];
}
return self;
}
- (void)textFieldDidChange:(NSNotification *)notification
{
self.font = [UIFont systemFontOfSize:20 - self.text.length];
}
@end
这不是 iOS 5.x 的问题。发生这种情况时,有什么解决方法可以让光标自行重置/重绘?