Ios UIAlertView中的UITextField无法设置游标
以下是我的代码:Ios UIAlertView中的UITextField无法设置游标,ios,uitextfield,uialertview,Ios,Uitextfield,Uialertview,以下是我的代码: UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Confirm Address" message:@"Please confirm your address:" delegate:self cancelButtonTitle:@"Confirm" otherButtonTitles:nil]; alert.alertViewStyle = UIAlertViewStylePlainTextIn
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];
光标未设置为文本字段的开头。我做错了什么?在控制器上实现
UITextFieldDelegate
,并将setSelectedTextRange
代码移动到textFieldDidBeginEditing
代理回调:
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
,并将setSelectedTextRange
代码移动到textfieldDiBeginediting
委托回调:
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]];
}
必须在头文件或类扩展名中指定实现的
并如上所示设置委托。将alertTextField的委托设置为当前视图控制器,并在textFields委托方法中执行设置范围
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.delegate = self;
[alertTextField becomeFirstResponder];
[alert show];
文本字段委托
- (void)textFieldDidBeginEditing:(UITextField *)textField {
UITextPosition *beginning = [textField beginningOfDocument];
[textField setSelectedTextRange:[textField
textRangeFromPosition:beginning
toPosition:beginning]];
将alertTextField的委托设置为当前视图控制器,并在textFields委托方法中执行范围设置
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.delegate = self;
[alertTextField becomeFirstResponder];
[alert show];
文本字段委托
- (void)textFieldDidBeginEditing:(UITextField *)textField {
UITextPosition *beginning = [textField beginningOfDocument];
[textField setSelectedTextRange:[textField
textRangeFromPosition:beginning
toPosition:beginning]];