如果按下警报上的按钮或按下键盘上的返回键,我想运行相同的代码。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
适用于警报上的 OK 按钮,但我找不到返回键的等效项。
我一直在尝试- (BOOL)textFieldShouldReturn:(UITextField *)alertTextField
,无济于事。
一年前,本站评论中的三个人有同样的问题,没有得到回答:
如何让 alertview 响应键盘上的“Return”,其结果与点击“OK”按钮的结果相同?我似乎在 Google 上找不到任何适用于 iOS 5 SDK 的内容。
完成此操作所需的所有步骤是什么?
编辑:
进一步来说:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
[[NSUserDefaults standardUserDefaults] setObject:[alertView textFieldAtIndex:0].text forKey:@"url_preference"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
当用户按下 OK 时,该代码将运行。与键盘上的 Return 键类似的简单等效项是什么?
目前,我正在尝试这个:
- (BOOL)textFieldShouldReturn:(UITextField *)alertTextField {
[alertTextField resignFirstResponder];
NSLog(@"test");
return YES;
}
什么都不做。
这是我的警报的定义:
-(void) noUrl {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Add a URL" message:@"Change it later in Settings" delegate:self cancelButtonTitle:nil otherButtonTitles:@"Load",nil]; //If you change button name, change it in the other alertView function
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField * alertTextField = [alert textFieldAtIndex:0];
alertTextField.keyboardType = UIKeyboardTypeURL;
alertTextField.returnKeyType = UIReturnKeyGo;
alertTextField.enablesReturnKeyAutomatically = YES;
alertTextField.placeholder = @"http://www.example.com";
[alert show];
return;
}
如果需要将代码添加到另一个文件或另一个地方,我将不胜感激详细的细节。