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

Posted

技术标签:

【中文标题】如何使光标的高度与 UITextField 中的文本高度相同?【英文标题】:How to make the height of the cursor same with the height of text in UITextField? 【发布时间】:2017-03-02 04:22:22 【问题描述】:

我的 UITextField 光标太长(下图中“123123”的光标)

如何使光标高度与文字高度一致?

【问题讨论】:

你的问题可能和这个***.com/questions/20207961/…一样 【参考方案1】:

我不小心偶然发现了这个问题,尽管它有点老了,但我觉得有必要回答它,因为公认的答案实际上是不正确的。

您确实可以更改光标的高度(或宽度)。只需继承 UITextField 并覆盖此方法:

- (CGRect)caretRectForPosition:(UITextPosition *)position 
    CGRect rect = [super caretRectForPosition:position];
    rect.size.height = 42;
    return rect;

【讨论】:

嗨,我试过你的答案,它对你有用 +1,但是当我改变键盘(从英语(印度)到日本(假名))时,插入符号会在我输入时向上移动单个字符。 Xcode 10.1 和 Swift 谢谢,这是一个很好的答案!它应该被选为正确的。它是更加灵活和可靠的解决方案。就我而言,我还需要根据不同的条件更改光标的位置。我可以通过这种方法实现它【参考方案2】:

我们不能改变光标高度,但我们可以做一些技巧,选择你的文本框并将你的文本框边框样式更改为UITextBorderStyleNone

你得到了输出

在你想要增加文本字段的字体大小之后,你会得到输出

【讨论】:

非常感谢!光标的高度似乎与 textField 的高度相同。所以我对文本字段的高度设置了一个约束并增加了字体大小。 @Anbu.Karthik 如果你有空,我在另一个问题中遇到了一些问题,所以请帮助我 @john - 当然,. @Anbu.Karthik 检查这个问题***.com/questions/41424811/…【参考方案3】:

假设您的 UITextField 名称是 uiTextField。要设置字体大小,请添加以下代码

_uITextField.font = UIFont.systemFont(ofSize: 10)

【讨论】:

【参考方案4】:

2021 年我们有房产

TextFormField(
cursorHeight: 13,
cursorColor: Colors.black)

【讨论】:

这不是 UIKit / ios

以上是关于如何使光标的高度与 UITextField 中的文本高度相同?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET / HTML - 使用光标时的文本区域光标位置

将 uitextfield 3 空间中的光标向右移动

更改 UITextField 和 UITextView 光标/插入符号颜色

禁用 UITextField 中的闪烁光标?

UIScrollView 中的 UItextfield 并用放大镜移动光标

根据javascript中的文本行数更改textarea的高度[重复]