2

ユーザーにテキストの変更を求めるUIAlertViewを表示する必要がありますが、ほとんどの場合、ユーザーは次のことを行います。a)テキストをそのままにするか、b)テキスト全体を置き換える。ごくまれに、テキストを追加または変更してテキストを変更したい場合があります。

したがって、この目的のために、次のコードを考え出しました。

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Name for your item"
                                                    message:nil
                                                   delegate:self
                                          cancelButtonTitle:@"Cancel"
                                          otherButtonTitles:@"Accept", nil];
alertView.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField *textField = [alertView textFieldAtIndex:0];
textField.text = @"Some random text";
[alertView show];

UITextRange *textRange = [textField textRangeFromPosition:textField.beginningOfDocument
                                               toPosition:textField.endOfDocument];
[textField setSelectedTextRange:textRange];

これはiPhoneで正常に機能し、アラートが表示されたときにテキストが選択され、期待どおりに機能しますが、iPadではテキストがまったく選択されていません。

私は何か間違ったことをしていますか、これはiOSのバグですか、それともこの動作は私が見つけていない場所に文書化されていますか?

4

1 に答える 1

0
UIAlertView *alertView=[[UIAlertView alloc] initWithTitle:@"name" message:@"" delegate:self
                                            cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];

alertViewt.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField *textField = [Renamealert textFieldAtIndex:0];
textField.text=@"XYZZZ   ";
[alertView show];

UITextRange *textRange = [textField textRangeFromPosition:textField.beginningOfDocument
                                               toPosition:textField.endOfDocument];
[textField setSelectedTextRange:textRange];
于 2014-10-16T08:20:40.147 に答える