UITextField起始光标位置错误

问题描述 投票:0回答:1

我有一个文本字段,里面有一些预编译的文本。文本字段中的文本在视觉上是右对齐的。当我点击文本字段时,我希望光标位于文本的末尾,这样我就可以编辑文本了。默认情况下,光标被定位在文本的开始处,如果我点击一个单词,则定位在该单词的结尾处。

我试着设置 selectedTextRange 属性,但我无法实现这个结果。我注意到 becomeFirstResponder() 给出了正确的行为。

func textFieldDidBeginEditing(_ textField: UITextField) {
    textField.selectedTextRange =
        textField.textRange(from: textField.endOfDocument, to: textField.endOfDocument)
}

enter image description here

ios swift uitextfield
1个回答
0
投票

你需要随时从主线更新你的UI。

DispatchQueue.main.async {
    textField.selectedTextRange = textField.textRange(from: textField.endOfDocument, to: textField.endOfDocument)
}
© www.soinside.com 2019 - 2024. All rights reserved.