iOS - 限制txtField长度输入

本文介绍如何使用UITextField实现文本输入长度限制,并通过UIAlertController提供超出长度的提示。具体包括UITextField的配置、监听设置及长度判断逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先创建txtField

  • 给txtField添加监听key值UIControlEventEditingChanged,当每输入一个字符的时候都会调用方法txtEditing:
-(void)setTxt{

    UITextField * txtFiled = [UITextField new];
    self.txtField = txtFiled;
    txtFiled.layer.borderWidth = 2;
    txtFiled.layer.borderColor = [UIColor blackColor].CGColor;
    txtFiled.frame = CGRectMake(100, 100, 200, 40);
    [txtFiled addTarget:self action:@selector(txtEditing:) forControlEvents:UIControlEventEditingChanged];
    [self.view addSubview:txtFiled];
}

在输入触发方法中判断长度是否符合,并截取需要的长度,以及提示用户

//在此长度限制为5
-(void)txtEditing:(UITextField *)txtField{

    NSLog(@"%@",txtField.text);
    NSString * content = txtField.text;
    if (content.length >= 5) {
        //如果长度>=5 则截取下来,并提示用户
        UIAlertController * alertVc = [UIAlertController alertControllerWithTitle:@"操作提示" message:@"长度超出" preferredStyle:UIAlertControllerStyleAlert];
        UIAlertAction * action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:nil];
        [alertVc addAction:action];
        [self presentViewController:alertVc animated:YES completion:nil];
        self.txtField.text = [self.txtField.text substringToIndex:4];
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值