【发布时间】:2013-05-06 10:30:59
【问题描述】:
我有 4 个文本字段,我想在其中同时设置两个限制。一是用户应该只能输入大写字母,最大字符限制为 2。我的代码如下:-
- (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。请提出解决此问题的方法。
【问题讨论】:
标签: iphone ios objective-c text uitextfield