您的位置:首页 > 其它

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

2012-10-18 22:47 495 查看

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

       1.  实现  

UITextFieldDelegate  协议。

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

     

//最多的账户字符个数

#define  ACCOUNT_MAX_CHARS    16

  3. 在实现文件中:

       将 textFiled对象的delegate设置为self:

       

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

        m_accountField.borderStyle = UITextBorderStyleNone;

        m_accountField.font = fieldFont;

        m_accountField.delegate  = self;

    //UITextFieldDelegate
- (BOOL)textFieldShouldReturn:(UITextField *)textField;
{
//用户结束输入
[textField resignFirstResponder];

return YES;
}

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

NSCharacterSet *cs;
cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNum] invertedSet];
NSString *filtered =
[[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
BOOL basic = [string isEqualToString:filtered];
return basic;
}


    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string basic