天天看點

限制UITextField隻接收數字輸入

1、定義宏

#define NUMBERS     @"0123456789\n"

2、實作

UITextFieldDelegate的

- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;方法。

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

{

    NSCharacterSet* filterCS = [[NSCharacterSet characterSetWithCharactersInString:NUMBERS] invertedSet];

    NSString* filterString = [[string componentsSeparatedByCharactersInSet:filterCS] componentsJoinedByString:@""];

    BOOL flag = [string isEqualToString:filterString];

    if (!flag)

    {

        UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"請輸入數字" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles: nil];

        [alert show];

        [alert release];

        return NO;

    }

    return YES;

}