iOS 追踪限制textfield输入位数

本是古典 何须时尚 2021-12-14 07:19 281阅读 0赞

实现效果:强制用户仅仅能输入16位数,这里是运用在信用卡号码的输入。

输入字符数大于16,把字的颜色设为黑色。且无论继续输入什么内容。仅仅取前16位。

若小于16位,把字的颜色设为红色,且设置“无效”。

  1. -(void)viewDidLoad{
  2. [super viewDidLoad];
  3. // 每隔0.1秒检查输入框
  4. [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(checkCardInfoInput) userInfo:nil repeats:YES];
  5. }
  6. -(void)checkCardInfoInput{
  7. BOOL isValid = YES;
  8. if ([self.cardNumberTextField.text length] >= 16){
  9. self.cardNumberTextField.textColor = [UIColor blackColor];
  10. self.cardNumberTextField.text = [self.cardNumberTextField.text substringWithRange:NSMakeRange(0, 16)];
  11. }
  12. else{
  13. self.cardNumberTextField.textColor = [UIColor redColor];
  14. isValid = NO;
  15. }
  16. // 其它验证
  17. if (isValid == YES) {
  18. self.AddCreditCardButton.enabled = YES;
  19. self.AddCreditCardButton.backgroundColor = [UIColor greenColor];
  20. }
  21. else{
  22. self.AddCreditCardButton.enabled = NO;
  23. self.AddCreditCardButton.backgroundColor = [UIColor grayColor];
  24. }
  25. }

转载于:https://www.cnblogs.com/xfgnongmin/p/10851886.html

发表评论

表情:
评论列表 (有 0 条评论,281人围观)

还没有评论,来说两句吧...

相关阅读