gpt4 book ai didi

ios - 在日期字段中自动插入 '/'

转载 作者:行者123 更新时间:2023-11-29 01:55:19 25 4
gpt4 key购买 nike

我有一个格式为 DD/MM/YYYY 的 uitextfield,例如:12/03/1982我想当用户输入“2”和“3”时,这个字段会自动在它们后面插入“/”。我在方法中执行了此操作:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

检查:

NSString *wholeTextName =
[textField.text stringByReplacingCharactersInRange:range
withString:string];
LogDebug(@"WholeText: %@", wholeTextName);


if ([textField isEqual:self.dateOfBirthTextField])
{
if (([wholeTextName length] == 2)||(([wholeTextName length] == 5))) {
textField.text=[wholeTextName stringByAppendingString:@"/"];
}

但是当我输入“2”时,此文本字段上的结果是:“12/2”不是“12/”=预期结果你能帮我推荐一下吗?

最佳答案

使用以下代码实现您想要的结果或文本字段验证。

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *wholeString = textField.text;
if ((wholeString.length == 2 || wholeString.length == 5) && ![string isEqualToString:@""])
{
wholeString = [wholeString stringByAppendingString:@"/"];
textField.text = wholeString;
}
else if(wholeString.length == 10 && ![string isEqualToString:@""])
{
return NO;
}

return YES;
}

这里我添加了一个 else if 条件来限制超过 10 个字符和一个条件 ![string isEqualToString:@""],所以即使你输入退格,它也能正常工作。

关于ios - 在日期字段中自动插入 '/',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30935101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com