如何从警报中的 TextField 获取输入文本 [重复]
Posted
技术标签:
【中文标题】如何从警报中的 TextField 获取输入文本 [重复]【英文标题】:How to get the input text from the TextField in an alert [duplicate] 【发布时间】:2016-01-06 19:42:39 【问题描述】:这个问题之前有人问过,在:Get input value from TextField in ios alert in Swift。但是,有人有 Objective-C 语言的代码吗?
提前致谢!
到目前为止我得到了什么:
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Adding A Row"
message:@"Enter A Number"
preferredStyle:UIAlertControllerStyleAlert];
[alert addTextFieldWithConfigurationHandler:^(UITextField *textField)
textField.placeholder = @"";
];
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action)
[alert dismissViewControllerAnimated:YES completion:nil];
];
UIAlertAction *ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action)
//Do some action here
];
[alert addAction:cancel];
[alert addAction:ok];
[self presentViewController:alert animated:YES completion:nil];
【问题讨论】:
这应该不难翻译。到目前为止,您拥有 Objective-C 代码的哪一部分?您是否已经创建了UIAlertController
?您添加了文本字段吗?
我已经添加了一个文本字段。遇到问题://3。从文本字段中获取值,并在用户单击确定时打印它。 alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: (action) -> Void in let textField = alert.textFields![0] as UITextField println("Text field: (textField.text) ") ))
好的,请出示您已经获得的代码以及您认为需要帮助的地方,如果您出示您当前的代码,我们很乐意提供一些。
【参考方案1】:
您需要使用与Swift
中相同的逻辑:在动作处理程序中写入alert.textFields[0].text
,方式如下:
UIAlertAction *ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action)
NSString *input = alert.textFields[0].text;
NSLog(@"input was '%@'", input);
];
在我的测试中打印出来的
输入是“1234”
【讨论】:
成功了!谢谢! :D以上是关于如何从警报中的 TextField 获取输入文本 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
swift alertview textfield - 如何检索输入的文本
KivyMD:如何从 python 中添加的 TextField 获取文本
HarmonyOS实战——TextField文本输入框组件基本使用