分享

如何让textField输入框 限制输入字数的同时,还只让输入数字

 没原创_去搜索 2015-08-24

如何让textField输入框 限制输入字数的同时,还只让输入数字和字母


1.  实现   

UITextFieldDelegate  协议。


2.  在头文件中,定义如下变量:


  1. //最多的账户字符个数

  2. #define ACCOUNT_MAX_CHARS 16
复制代码

3. 在实现文件中:


将 textFiled对象的delegate设置为self:


  1. m_accountField = [[UITextField alloc] initWithFrame:CGRectMake(89,26, 243, 33)];

  2. m_accountField.borderStyle = UITextBorderStyleNone;

  3. m_accountField.font = fieldFont;

  4. m_accountField.delegate = self;
复制代码


  1. //UITextFieldDelegate
  2. - (BOOL)textFieldShouldReturn:(UITextField *)textField;
  3. {
  4. //用户结束输入
  5. [textField resignFirstResponder];

  6. return YES;
  7. }

  8. - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string // return NO to not change text
  9. {
  10. //判断是否超过 ACCOUNT_MAX_CHARS 个字符,注意要判断当string.leng>0
  11. //的情况才行,如果是删除的时候,string.length==0
  12. int length = textField.text.length;
  13. if (length >= ACCOUNT_MAX_CHARS && string.length >0)
  14. {
  15. return NO;
  16. }


  17. NSCharacterSet *cs;
  18. cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNum] invertedSet];
  19. NSString *filtered =
  20. [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
  21. BOOL basic = [string isEqualToString:filtered];
  22. return basic;
  23. }
复制代码


原文链接:http://blog.csdn.net/tangaowen/article/details/8087798


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多