如何使光标的高度与UITextField中的文本高度相同?

jyb*_*per 2 objective-c ios swift swift3

我有UITextField太长的光标(下图中的光标为"123123")

在此输入图像描述

如何使光标的高度与文本的高度相同?

paj*_*vic 10

我不小心偶然发现了这个问题,即使它有点老了,我也不得不回答它,因为接受的答案实际上并不正确.

您确实可以更改光标的高度(或宽度).只需子类化UITextField并覆盖此方法:

- (CGRect)caretRectForPosition:(UITextPosition *)position {
    CGRect rect = [super caretRectForPosition:position];
    rect.size.height = 42;
    return rect;
}
Run Code Online (Sandbox Code Playgroud)


Anb*_*hik 0

我们无法更改光标高度,但我们可以做一些技巧,选择您的文本字段并将文本字段边框样式更改为UITextBorderStyleNone

你得到的输出为

在此输入图像描述

之后增加文本字段的字体大小,无论你想要什么,然后你得到的输出为

在此输入图像描述