我使用UITextField
并需要强制执行以下日期格式:
12/17
我知道如何强制执行4个字符的限制:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([textField isEqual:self.billingExpirationDate]) {
if (range.length + range.location > textField.text.length) {
return NO;
}
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return newLength <= 4;
}
return YES;
}
但是,如果我在键入两个数字后尝试将/插入字符串中,它会搞砸,不会让用户使用删除按钮。
有没有人有任何想法我如何能够遵循所需的格式,同时只允许用户输入四个数字字符,显然让他们在需要时删除它们?
答案 0 :(得分:1)
您可以将其用于删除字符。
if(string.length==0 && range.length==1)
{
return YES;
}
如果您需要更多帮助,请与我们联系。感谢.....
答案 1 :(得分:0)
因此,我运行了您的代码并实施了一个扫描程序,以检查with...open
是否为整数,如果string
在输入而不是删除时达到位置+长度为2,则表示&#39; /&#39 ;在range
之前加上
string