19. UIAlertController 提示框获取文本内容,打印控制台上

时间:2023-03-09 18:51:43
19. UIAlertController 提示框获取文本内容,打印控制台上

1.首先定义一个全局字符串变量,方便接收获取的文本内容

2.

-(void)viewDidAppear:(BOOL)animated{

UIAlertController * alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"提示信息"  preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction * cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

NSLog(@"点击取消");

}];

UIAlertAction * logIn = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

NSLog(@"点击确定%@",_str);

}];

[alert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {

关键点:倒入代理协议文件,设置代理

textField.delegate=self;

NSLog(@"添加一个textField就会调用 这个block");

}];

[alert addAction:cancel];

[alert addAction:logIn];

[self presentViewController:alert animated:YES completion:nil];

}

3. 调用代理方法

- (void)textFieldDidEndEditing:(UITextField *)textField{

_str=textField.text;

}

4.完美结束

5.补充其其它,创建提示框(直接上代码)

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"显示的标题" message:@"标题的提示信息" preferredStyle:UIAlertControllerStyleAlert];

[alertController addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

NSLog(@"点击取消");

}]];

[alertController addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

NSLog(@"点击确认");

}]];

[alertController addAction:[UIAlertAction actionWithTitle:@"警告" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {

NSLog(@"点击警告");

}]];

[alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {

NSLog(@"添加一个textField就会调用 这个block");

}];

// 由于它是一个控制器 直接modal出来就好了

[self presentViewController:alertController animated:YES completion:nil];