记录今天遇到的一个小需求,要在弹窗上面增加一个输入框,有两种实现方法。
第一种:创建一个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];
}
}
}
如上记录。。。