iOS UITextField 显示银行卡格式的方法
2019/7/9 22:45:02
本文主要是介绍iOS UITextField 显示银行卡格式的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
输入框显示银行卡格式,即为每隔4位出现一个空格,
下面使用UITextFieldDelegate,编码实现:
首先引用使用代理
类名 ()<UITextFieldDelegate> self.textField.delegate = self;
使用代理方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if (textField == self.contentTextField) { // 4位分隔银行卡卡号 NSString *text = [textField text]; NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789\b"]; string = [string stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([string rangeOfCharacterFromSet:[characterSet invertedSet]].location != NSNotFound) { return NO; } text = [text stringByReplacingCharactersInRange:range withString:string]; text = [text stringByReplacingOccurrencesOfString:@" " withString:@""]; NSLog(@"%@",text); // text为输入框内的文本,没有“ ”的内容 NSString *newString = @""; while (text.length > 0) { NSString *subString = [text substringToIndex:MIN(text.length, 4)]; newString = [newString stringByAppendingString:subString]; if (subString.length == 4) { newString = [newString stringByAppendingString:@" "]; } text = [text substringFromIndex:MIN(text.length, 4)]; } newString = [newString stringByTrimmingCharactersInSet:[characterSet invertedSet]]; if ([newString stringByReplacingOccurrencesOfString:@" " withString:@""].length >= 21) { return NO; } [textField setText:newString]; return NO; } return YES; }
使用以上方法即可实现UITextField 显示银行卡格式。
这篇iOS UITextField 显示银行卡格式的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。
这篇关于iOS UITextField 显示银行卡格式的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12Axios库资料:新手入门必读教程
- 2024-11-11Axios库项目实战:新手入门教程
- 2024-09-29Axios库教程:初学者必备指南
- 2024-08-29Axios库资料:新手入门指南与基本使用教程
- 2024-03-14system bios shadowed
- 2024-03-14gabios
- 2024-02-07iOS应用提交上架的最新流程
- 2024-02-06打包 iOS 的 IPA 文件
- 2023-12-07uniapp打包iOS应用并通过审核:代码混淆的终极解决方案 ?
- 2023-11-25uniapp IOS从打包到上架流程(详细简单) 原创