ios弹出密码输入框并限定输入位数

本文介绍了如何在iOS应用中创建一个带有密码输入框的UIAlertView,并通过实现UITextFieldDelegate来限定输入的字符数。通过shouldChangeCharactersInRange回调进行实时监控,确保每次输入后都能符合设定的密码长度限制。

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

1、需要实现UIAlertViewDelegate和

UITextFieldDelegate


2、新建一个密码输入框                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

<span style="font-size:14px;">    UIAlertView *forbidPWDAlertView = [[UIAlertView alloc] initWithTitle:@"密码输入" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
    forbidPWDAlertView.alertViewStyle = UIAlertViewStyleSecureTextInput;//设置输入的样式 
    UITextField *pwdFild = [forbidPWDAlertView textFieldAtIndex:0];//设置输入框
    pwdFild.placeholder=@"请输入8位密码";
    pwdFild.delegate=self;
    [forbidPWDAlertView show];</span>
3、设置密码输入框最多能输入的位数的限制,其实只需要实现

shouldChangeCharactersInRange回调函数即可,会在每次输入一个字符之后都会调用一次

<span style="font-size:14px;">-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    if (range.location>=8) {
        return NO;
    }else{
        return YES;
    }
}</span>
4、点击UiAlerView上按钮点击事件

<span style="font-size:14px;">-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    //只写了点击确定按钮的事件可以根据需要来设置多个按钮的点击事件
    if (buttonIndex == alertView.firstOtherButtonIndex) {
        UITextField *PWDField = [alertView textFieldAtIndex:0];
        NSString * textPWD=PWDField.text;//获取输入的密码
        if (textPWD.length>0) {
            uint8_t * passWord = [textPWD UTF8String];
            
        }
        
    }
}</span>

效果图




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值