格式文本字段在用户输入数据(Format Text Field While User Enters

2019-10-29 05:18发布

所以这里就是我要做的。 我有一个出生日期文本字段,而在将文本的用户我想现场自动把它的形式YYYY-MM-DD。 基本上,当用户键入它取代了个Y M的和D的,但离开了连字符。 我不知道如何去这个我可能需要一个面具什么的。

我知道这是哪里的一些格式可以做到

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

任何帮助将有很大帮助

Answer 1:

你想要一个NSDateFormatter 。 又见可可数据格式编程指南 (在iPhone文档)。



Answer 2:

行,所以这是我现在有

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    //Format Date of Birth YYYY-MM-DD
    if(textField == txtDOB)
    {
        if ((txtDOB.text.length == 4)||(txtDOB.text.length == 7))
            //Handle backspace being pressed
            if (![string isEqualToString:@""])
            txtDOB.text = [txtDOB.text stringByAppendingString:@"-"];
        return !([textField.text length]>9 && [string length] > range.length);
    }
    else
        return YES;

}

唯一的问题是,当我尝试后排空间,它不工作,我的猜测是因为它试图每次我打了退格键时添加的冲刺。 任何人都知道一个变通?



文章来源: Format Text Field While User Enters Data