我有一个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'方法中运行它)并且第二组代码使用从用户获得的字符串输入,这就是为什么我不希望在用户点击按钮之前运行该代码。
答案 0 :(得分:7)
当人们说“不要那样做”时,难道你不喜欢它......然后永远不会给你任何好的/正确的方式,你应该这样做。
感谢。
答案 1 :(得分:1)
你做不到。 UIAlertView中的show
消息不会因用户输入而停止。相关代表需要处理您计划放入//***second set of code***
部分的代码。
话虽如此,让我给你一些建议。 addTextFieldWithValue
消息是未记录的API功能。 不要使用它。过去很久以前,即使您的应用程序使用了addTextFieldWithValue
消息,Apple为您提供的批准过程也会让您通过。但现在这种情况不再发生了。如果您的应用程序使用该未记录的功能,则会自动拒绝该应用程序。 Here是关于该主题的博客条目。
希望它有所帮助。