当我在UIAlertView中创建UITextField成为第一个响应者时,为什么键盘不显示?

时间:2011-07-14 18:22:09

标签: objective-c ios xcode uitextfield uialertview

我有一个警告视图,其中弹出一个文本字段,我希望文本字段成为第一个响应者并立即显示键盘。

当我使用[summaryField becomeFirstResponder]时;我在文本字段中看到一个闪烁的光标,但键盘没有弹出。但是,如果我不将文本作为第一个响应者,而只是在警报显示时单击它内部,键盘会弹出。

关于如何在不显示键盘的情况下成为第一响应者的任何想法?我猜它与将文本字段作为子视图添加到警报视图有关,但我不知道究竟是什么问题。我的代码在下面,没有“becomeFirstResponder”调用。

UIAlertView *titleAlert = [[UIAlertView alloc] initWithTitle:@"Enter title" message:@" "     
    delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
summaryField = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)];
[summaryField setBackgroundColor:[UIColor whiteColor]];
[titleAlert addSubview:summaryField];
[titleAlert show];
[titleAlert release];
[summaryField release];

1 个答案:

答案 0 :(得分:2)

[textField becomeFirstResponder] UIAlertViewDelegate方法中尝试willPresentAlertView: