2011-08-26 85 views
3
的字符數

可能重複:
iPhone SDK: Set Max Character length TextField如何限制在5個UITextFields

我有5個UITextFields,其中只有6個字符應該被允許。我怎樣才能將輸入限制爲每個文本字段只有6個字符?任何其他代碼我嘗試失敗了,我也沒找到固定它的方式,感謝:d 編輯:這是我測試代碼:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    NSUInteger newLength1 = [serie1.text length] + [string length] - range.length; 
    NSUInteger newLength2 = [serie2.text length] + [string length] - range.length; 
    NSUInteger newLength3 = [serie3.text length] + [string length] - range.length; 
    NSUInteger newLength4 = [serie4.text length] + [string length] - range.length; 
    NSUInteger newLength5 = [serie5.text length] + [string length] - range.length; 

    if(newLength1 > 6) 
     return NO; 
    if(newLength2 > 6) 
     return NO; 
    if(newLength3 > 6) 
     return NO; 
    if(newLength4 > 6) 
     return NO; 
    if(newLength5 > 6) 
     return NO; 

    return YES; 
} 

-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    if(serie1.text.length >= 6 && range.length == 0) { 
     return NO; 

    } 
    if(serie2.text.length >= 6 && range.length == 0) { 
     return NO; 

    } 
    if(serie3.text.length >= 6 && range.length == 0) { 
     return NO; 

    } 
    if(serie4.text.length >= 6 && range.length == 0) { 
     return NO; 

    } 
    if(serie5.text.length >= 6 && range.length == 0) { 
     return NO; 

    } 
    return YES; 
} 

兩者都有當你寫6個字符,然後你不能再寫任何其他文本字段,直到你刪除你寫的字符

+0

我想不會,因爲我已經看到了這一點,試了一下沒有運氣 – pmerino

+0

然後請提供你已經嘗試什麼樣的代碼,因爲這是自IOS發展論壇由許多開發商的邏輯開始.. – Krishnabhadra

回答

11
-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    if(textField.text.length >= 7 && range.length == 0) 
    { 
     return NO; 
    } 
    return YES; 
} 
+1

哎呀,當我在一個字段上寫6個字符時,我不能在下一個字段上寫更多,直到我刪除之前我寫的6個字符 – pmerino

+1

意味着你想要什麼? – PJR

+1

不,我測試了這個和下一個,沒有任何工作,我會在我的問題上發佈代碼,保留在 – pmerino

0

落實UITextField委託方法:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    NSUInteger newLength = [textField.text length] + [string length] - range.length; 

    if(newLength > 6) 
     return NO; 

    return YES; 
}