1

在 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 的问题。发生这种情况时,有什么解决方法可以让光标自行重置/重绘?

4

1 回答 1

0

试着打电话

[self becomeFirstResponder];

在 textFieldDidChange 中,在 self.font = ... 之后。不知道它是否有帮助,但这可能是一个快速的解决方法。

于 2013-05-14T19:16:06.813 回答