ios 关于textfield(1)

来源:互联网 发布:郁可唯 独家记忆 知乎 编辑:程序博客网 时间:2024/05/20 02:54

textfield  输入字数的限制

使用UItextfielddelegate 代理方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;
{
    //string就是此时输入的那个字符 textField就是此时正在输入的那个输入框 返回YES就是可以改变输入框的值 NO相反
    if ([string isEqualToString:@"\n"])  //按会车可以改变
    {
        return YES;
    }
    NSString * toBeString = [textField.text stringByReplacingCharactersInRange:range withString:string]; //得到输入框的内容
    if (self.textfield == textField)  //判断是否时我们想要限定的那个输入框
    {
        if ([toBeString length]>20 ) { //如果输入框内容大于20则弹出警告
            textField.text = self.textfield.text;//[toBeString substringToIndex:self];
            //新的ios9 alertview 的写法
            UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"超过最大字数不能输入了" preferredStyle:UIAlertControllerStyleAlert];
            [alert addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertViewStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                
            }]];
//            UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:nil message:@"超过最大字数不能输入了" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil] autorelease];
//            
         //  [alert show];
            [self presentViewController:alert animated:true  completion:nil];
            
            return NO;
        }
    }
    return YES;
}

0 0