限制输入到 UITextField 的字符数
Posted
技术标签:
【中文标题】限制输入到 UITextField 的字符数【英文标题】:Restricting number of charcters input to the UITextField 【发布时间】:2012-05-08 23:08:30 【问题描述】:我有一个 UITextField,我在其中限制输入超过 2 位数字。现在,它工作正常,但是当我点击文本字段并选择所有内容然后键入它时,我无法覆盖现有的 2 位数字。
关于如何在此处使用“selectedTextRange”属性的任何线索?
- (BOOL)cell:(RunnerTableViewCell *)iCell shouldChangeCharactersInRange:(NSRange)iRange replacementString:(NSString *)iString
self.navigationItem.rightBarButtonItem.enabled = YES;
NSCharacterSet *anUnacceptedInput = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
int aCharacterUpperLimit = 2;
BOOL aReturnValue = YES;
NSInteger aTotalLength = iCell.inputField.text.length + [iString length];
NSLog(@"iString=%@ aTotalLength=%d",iString,aTotalLength);
if ([[iString componentsSeparatedByCharactersInSet:anUnacceptedInput] count] > 1 || (aTotalLength > aCharacterUpperLimit && ![iString isEqualToString:kRunnerEmptyString]) || [iString length] > aCharacterUpperLimit)
aReturnValue = NO;
return aReturnValue;
【问题讨论】:
【参考方案1】:试试这个:
NSInteger aTotalLength = iCell.inputField.text.length + [iString length] - iRange.length;
【讨论】:
以上是关于限制输入到 UITextField 的字符数的主要内容,如果未能解决你的问题,请参考以下文章
如何限制 UIAlertView UITextField 中的字符输入