2013-04-10 14 views

Odpowiedz

20

Ustaw kontroler widoku (lub innego odpowiedniego obiektu) jako pola tekstowego delegate i wdrożenie metody takiego textFieldDidBeginEditing::

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

Zauważ, że setSelectedTextRange: jest protokół metody UITextInput (który implementuje), więc nie znajdziesz go bezpośrednio w dokumentacji UITextField.

+0

Ładny fragment kodu! Działa idealnie dla mnie. –

2

Jeśli ktoś szuka odpowiedzi w Swift:

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

Ale wierzę, że to działa tylko wtedy, gdy kursor znajduje się już w polu tekstowym. Możesz to zrobić:

textField.becomeFirstResponder() 
let desiredPosition = textField.beginningOfDocument 
textField.selectedTextRange = textField.textRangeFromPosition(desiredPosition, toPosition: desiredPosition) 
Powiązane problemy