2012-04-24 23 views
4

我一直在尋找UIkeyboardtypenumberpad,但在iPad例子中使用。UIkeyboardtypenumberpad IPAD

我的意思是,可以創建一個只模擬數字鍵盤的類或視圖,如iPhone?

我使用4.1 sdk版本。

我不想使用特殊字符,只是數字和點。

謝謝!!

回答

8

在頭文件中添加UITextFieldDelegate(h文件)

txtfield_name.keyboardType=UIKeyboardTypeNumbersAndPunctuation; 
txtfield_name.delegate=self; 

再加入此方法

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

    NSString *validRegEx [email protected]"^[0-9.]*$"; //change this regular expression as your requirement  
    NSPredicate *regExPredicate =[NSPredicate predicateWithFormat:@"SELF MATCHES %@", validRegEx]; 
    BOOL myStringMatchesRegEx = [regExPredicate evaluateWithObject:string]; 
    if (myStringMatchesRegEx)  
    return YES; 
    else 
    return NO; 
} 
+1

很聰明 - 這也可以讓你從外部鍵盤篩選出不想要的字符。 .. – Pete 2013-12-09 09:54:23

+1

再次證明了正則表達式的力量:) 1UP for predicate + regex – 2013-12-11 11:15:24