как проверить текстовое поле, которое позволяет две цифры после - PullRequest
0 голосов
/ 08 февраля 2011

Мне нужно проверить текстовое поле, которое допускает только две цифры после .

, например: 12,34

, если пользователь вводит более двух цифр, он не допускает текст.

Дайте мне знать, это понятно или нет

Как я могу это сделать, может ли кто-нибудь помочь мне.

Спасибо заранее.

Ответы [ 3 ]

1 голос
/ 10 февраля 2011

Я решаю свою проблему с помощью этого кода.

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

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

    NSArray *sep = [newString componentsSeparatedByString:@"."];
    if([sep count]>=2)
    {
        NSString *sepStr=[NSString stringWithFormat:@"%@",[sep objectAtIndex:1]];
        return !([sepStr length]>2);
    }
    return YES;
}
1 голос
/ 08 февраля 2011

Вы должны кодировать в следующем методе делегата,

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
 NSArray *sep = [string componentsSeparatedByString:@"."];
 if([sep count]==2)
 {
  NSString *sepStr=[NSString stringWithFormat:@"%@",[sep objectAtIndex:1]];
  if([sepStr length] >2)
  //do whatever you want
 }
}

Вы также можете проверить, используют ли они много десятичных знаков,

if([sep count]>2)
 //use only one decimal point
0 голосов
/ 08 февраля 2011

Проверка правильности текста в текстовом поле делегата:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...