2013-04-10 111 views

回答

20

设置你的视图控制器(或其他一些合适的对象)作为文本字段的delegate并实现textFieldDidBeginEditing:方法是这样的:

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

注意setSelectedTextRange:是协议方法UITextInput(其中UITextField实现),因此您不会直接在UITextField文档中找到它。

+0

不错的代码片段!为我完美工作。 – 2015-05-11 09:02:31

2

如果有人要寻找在斯威夫特的回答:

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

但我相信这只是工作,如果光标已经在文本字段中。你可以用它来做到这一点:

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