Objective C - 让UIAlertView等待用户输入?

时间:2010-09-03 02:22:36

标签: iphone objective-c uialertview

我有一个UIAlertView设置文本字段如下:

//***first set of code***  
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"User Input Required" message:@"Please enter data into the field" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil];  
    [alert addTextFieldWithValue:nil label:@"[Enter Text]"];  
    [[alert textField] becomeFirstResponder];  
    [alert show];  
    [alert release];  
//***second set of code***`

我怎样才能使用户需要点击一个按钮(我已经设置了该方法以将输入发送到字符串)在任何“第二组代码”被触发之前?

我需要将第二组代码包含在与alert相同的部分中(因此我不能在'dismissWithClickedButtonIndex'方法中运行它)并且第二组代码使用从用户获得的字符串输入,这就是为什么我不希望在用户点击按钮之前运行该代码。

2 个答案:

答案 0 :(得分:7)

当人们说“不要那样做”时,难道你不喜欢它......然后永远不会给你任何好的/正确的方式,你应该这样做。

感谢。

答案 1 :(得分:1)

你做不到。 UIAlertView中的show消息不会因用户输入而停止。相关代表需要处理您计划放入//***second set of code***部分的代码。

话虽如此,让我给你一些建议。 addTextFieldWithValue消息是未记录的API功能。 不要使用它。过去很久以前,即使您的应用程序使用了addTextFieldWithValue消息,Apple为您提供的批准过程也会让您通过。但现在这种情况不再发生了。如果您的应用程序使用该未记录的功能,则会自动拒绝该应用程序。 Here是关于该主题的博客条目。

希望它有所帮助。