我有4個文本字段,我想同時放置兩個限制。一個是,用戶應該只能輸入大寫字母,最大字符數限制爲2。我給這家代碼如下: -限制用戶輸入字符,並將每個輸入的字母轉換爲大寫字母在ios
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string {
// Below logic is for All 4 Modifer Textfields
// we are restrict the user to enter only max 2 characters in modifier textfields.
if (textField==txt_modifier1 || textField==txt_modifier2 || textField==txt_modifier3 ||
textField==txt_modifier4) {
textField.text = [textField.text stringByReplacingCharactersInRange:range
withString:[string
uppercaseStringWithLocale:[NSLocale currentLocale]]];
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return (newLength > 2) ? NO : YES;
}
return YES;
}
,這是不正常,因爲它是附加一個或多個字符,我在任何字符輸入,也沒有限制字符數爲2。請提出解決這個問題的方法。
的感謝!隊友現在工作正常。謝謝你解釋我的錯誤。 – Shikhar 2013-05-06 11:01:44
如果我也想限制用戶輸入特殊字符,那麼我可以在這裏設置什麼樣的條件。 – Shikhar 2013-05-06 11:06:17
你可以使用一個反轉的NSCharacterSet。例如,如果你不想要除大寫以外的任何字符,你可以在上面加上'NSString * result':if([string componentsSeparatedByCharactersInSet:[[NSCharacterSet capitalizedLetterCharacterSet] invertedSet]]。count> 1)return NO; – elslooo 2013-05-06 12:43:08