16

我需要移动光标以在文本字段上设置焦点时开始文本位置。有可能做吗?

4

3 回答 3

22

将您的视图控制器(或其他适当的对象)设置为文本字段delegate并实现如下textFieldDidBeginEditing:方法:

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    UITextPosition *beginning = [textField beginningOfDocument];
    [textField setSelectedTextRange:[textField textRangeFromPosition:beginning
                                                          toPosition:beginning]];
}

请注意,这setSelectedTextRange:UITextInputUITextField实现)的协议方法,因此您不会直接在UITextField文档中找到它。

于 2013-04-10T16:27:08.837 回答
4
self.selectedTextRange = [self textRangeFromPosition:newPos toPosition:newPos];

检查此在 UITextField 中查找光标位置

于 2013-04-10T16:24:09.767 回答
4

如果有人在 Swift 中寻找答案:

let desiredPosition = textField.beginningOfDocument
textField.selectedTextRange = textField.textRangeFromPosition(desiredPosition, toPosition: desiredPosition)

但我相信这只有在光标已经在文本字段中时才有效。您可以使用它来做到这一点:

textField.becomeFirstResponder()
let desiredPosition = textField.beginningOfDocument
textField.selectedTextRange = textField.textRangeFromPosition(desiredPosition, toPosition: desiredPosition)
于 2016-01-27T23:10:18.173 回答