Как установить лимит в текстовом поле? - PullRequest
1 голос
/ 27 июля 2011

Может ли кто-нибудь сказать мне, как установить предел для слов, чтобы ввести в текстовое поле в target-c?В моем случае у меня есть форма регистрации, и в форме регистрации каждый пользователь должен вводить username, password, email и phone no., и теперь я должен ограничить пользователя, чтобы вводить имя максимум из 15 символов.

Может кто-нибудь сказать мне, как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 19 октября 2011

Попробуйте это:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

NSString *textFieldText = [textField.text stringByReplacingCharactersInRange:range withString:string];

        if ([textFieldText length] > 15) 
        {
            return NO;
        }

 return YES;
}
2 голосов
/ 27 июля 2011

Вы можете ограничить количество входов в UITextField обоими следующими способами.

Прежде всего, установите соответствующий UIViewController в качестве объекта делегата на UITextField

yourTextField.delegate = self;

Затем добавьте следующий фрагмент кода в UIViewController.

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    if ([textField.text length]<15) {
           return YES;
    }

    return NO;
}

. Или вы можете определить протокол UITextFieldDelegate в интерфейсе UIViewController

@interface YourViewController()<UITextFieldDelegate>
  // YourViewController.m
@end

и затем реализовать следующееshouldChangeCharactersInRange задание в вашем классе.

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
   NSUInteger newLength = [textField.text length] + [string length] - range.length;
   return (newLength > 15) ? NO : YES;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...