2009-11-17 85 views
0

我想让用户键入一个新文件的名称,所以我想阻止某些字符进入。有没有我可以使用的特殊键盘,或者我可以禁用iPhone的键盘上的某些键。iPhone新文件对话框键盘解决方案

是只运行在输入文本正则表达式,并告诉用户文件名是无效的(如果是的话会是正则表达式是什么呢?)

回答的答案:(或者是我落得这样做)

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

    BOOL valid; 
    //if the user has put in a space at the beginning 
    if ([string isEqualToString:@" "]){ 
     if (range.location == 0){ 
      valid = NO; 
     } 
     else{ 
      valid = YES; 
     } 
    } 
    //otherwise test for alpha numeric 
    else{ 
     NSCharacterSet *alphaSet = [NSCharacterSet alphanumericCharacterSet]; 
     valid = [[string stringByTrimmingCharactersInSet:alphaSet] isEqualToString:@""]; 
    } 

    //print the warning label 
    if (valid == NO){ 
     [errorLabel setText:@"Invalid input"]; 
    } 
    else{ 
     [errorLabel setText:nil]; 
    } 
    return valid; 
} 

回答

1

您可以实现的委托方法

有关的UITextField,

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; // return NO to not change text 

对于UITextView的

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text; 

,并决定耐候追加输入的字符或没有。

+0

这将工作,但你知道任何方式来禁用你不想进入的键吗? – 2009-11-17 23:24:22

+0

如果你的意思是,从键盘本身隐藏不需要的键,你必须实现你自己的键盘! – prakash 2009-11-18 05:30:30

相关问题