1
私は2桁以上の入力を制限しているUITextFieldを持っています。今はうまくいきますが、テキストフィールドをタップすると、&すべてのコンテンツを選択してください。&と入力すると、既存の2桁を上書きすることはできません。UITextFieldに入力されるcharctersの数を制限する
ここで '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;
}