2011-12-21 16 views
-1

我有一個UITextfield,我需要檢查輸入的值是否在特定的範圍內(比如2到10之間)。任何人都可以幫助一個示例代碼?檢查UITextfiled中的值

我使用此代碼

if([[textfieldobject.text stringByTrimmingCharactersInSet: 
         [NSCharacterSet whitespaceCharacterSet]] length] != 0 && 
         [[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] <= 2 && 
         [[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] > 10) 

回答

1

只需將字符串值轉換爲int,然後檢查範圍。 intValue將始終返回一個有效的int轉換(如果非數字則爲零)。請注意,如果有人輸入「a10」,結果將爲0,在下面的代碼中,它將落入範圍內。

int convertedValue = [textFieldObject.text intValue]; 
if (convertedValue >= 0 && convertedValue <= 10) { 
    NSLog(@"In range"); 
} else { 
    NSLog(@"Out of range"); 
} 

您可以防止超出範圍的字符,因爲它們正在被重寫UITextFieldDelegate委託類型:

shouldChangeCharactersInRange 

或覆蓋該委託並運行你的支票,然後會彈出一個通知,使用戶編輯。

textFieldDidEndEditing 
+0

如果([[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]長度]!= 0 ||((玩家> 2)&&(玩家<6))) { 代碼... } else { code ... }我給出了這個樣子,但它總是進入else部分 – priya 2011-12-21 08:56:02

0

可以使用長度屬性用於此。

+0

沒有得到答案 – priya 2011-12-21 08:25:56