2009-11-17 84 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

相關問題