2013-10-18 3 views
1

을 설정할 수 없습니다 내가 가지고있는 코드 :의 UITextField는 여기에 커서

UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Confirm Address" message:@"Please confirm your address:" delegate:self cancelButtonTitle:@"Confirm" otherButtonTitles:nil]; 
    alert.alertViewStyle = UIAlertViewStylePlainTextInput; 
    UITextField * alertTextField = [alert textFieldAtIndex:0]; 
    alertTextField.text = @"1234 ABC Street"; 
    [alertTextField becomeFirstResponder]; 
    UITextPosition *beginning = [alertTextField beginningOfDocument]; 
    [alertTextField setSelectedTextRange: [alertTextField 
            textRangeFromPosition:beginning 
            toPosition:beginning]]; 

    [alert show]; 

커서가 텍스트 필드의 시작 부분으로 설정되지 않습니다는. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

1

컨트롤러의 UITextFieldDelegate을 구현하고, textFieldDidBeginEditing 대리인 콜백에 setSelectedTextRange 코드를 이동 :

UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Confirm Address" message:@"Please confirm your address:" delegate:self cancelButtonTitle:@"Confirm" otherButtonTitles:nil]; 
alert.alertViewStyle = UIAlertViewStylePlainTextInput; 
UITextField * alertTextField = [alert textFieldAtIndex:0]; 
alertTextField.text = @"1234 ABC Street"; 
[alertTextField becomeFirstResponder]; 

// Your UITextFieldDelegate implementer here 
[alertTextField setDelegate:self]; 

[alert show]; 

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

당신이 <UITextFieldDelegate>을 구현하고 대리자를 설정하는 것이 당신이 당신의 헤더 파일, 또는 클래스 확장에서 지정한 중요하다 위에 표시된대로.

+0

예, 작동합니다. 무리 감사! – Alexey

관련 문제