美文网首页
iOS UIAlertController增加输入框UIText

iOS UIAlertController增加输入框UIText

作者: 夜冰雨 | 来源:发表于2022-12-29 18:21 被阅读0次

    记录今天遇到的一个小需求,要在弹窗上面增加一个输入框,有两种实现方法。

    第一种:创建一个UIView在view上添加UITextfield和按钮

    第二种:利用系统的UIAlertController增加UITextfield。

    这里简单介绍一下第二种方法,具体代码如下:

    @property (nonatomic,strong) UITextField *TextField;

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"添加选项" message:@"" preferredStyle:UIAlertControllerStyleAlert];

        //增加取消按钮

        UIAlertAction *alertA = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:nil];

        //增加确定按钮

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

            //获取第1个输入框;

            self.TextField = alertController.textFields.firstObject;

            //限制输入框字数

            [self.TextField addTarget:self action:@selector(alertTextAction:) forControlEvents:UIControlEventEditingChanged];

            NSString *moneyStr = [NSString stringWithFormat:@"%@",self.TextField.text];

            //将字段存储在数组中

            [self.btnArray insertObject:moneyStr atIndex:0];

            [self.setUpTableView reloadData];

            [UntangledDataManage shareDataManage].serveDataArray = self.btnArray;

            NSLog(@"serveDataArray==%@",[UntangledDataManage shareDataManage].serveDataArray);

        }];

        //定义第一个输入框;

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

            textField.placeholder=@"请输入选项内容";

            textField.keyboardType = UIKeyboardTypeDefault;

    //        textField.text = [NSString stringWithFormat:@"%.2lf",[goods.taxPremium doubleValue]];

        }];

        // 修改字体的颜色

        [alertA setValue:[UIColor colorWithRed:153/255.0f green:153/255.0f blue:153/255.0f alpha:1] forKey:@"_titleTextColor"];

        [alertB setValue:[UIColor blackColor] forKey:@"_titleTextColor"];

        [alertController addAction:alertA];

        [alertController addAction:alertB];

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

    限制字符字数

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

        if(textField ==self.TextField) {

            if(textField.text.length>12) {

                textField.text= [textField.text substringToIndex:12];

            }

        }

    }

    如上记录。。。

    相关文章

      网友评论

          本文标题:iOS UIAlertController增加输入框UIText

          本文链接:https://www.haomeiwen.com/subject/alitcdtx.html