2010-06-16 30 views
0

所以這裏是我想要做的。我有一個出生日期文本字段,而在put文本中的用戶,我希望該字段自動將其置於YYYY-MM-DD形式。基本上,當用戶鍵入它時會替換Y的M和D,但會留下連字符。我不知道如何去做這件事,我可能需要一個面具或其他東西。當用戶輸入數據時設置文本字段的格式

我知道這正是一些格式可以做到

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

任何幫助將是很大幫助

+0

你爲什麼不使用日期選擇器? – 2010-06-16 20:57:14

+0

我不喜歡它是如何設置的,再加上我將添加諸如電話號碼之類的東西,因此這是很好的知道 – Matt 2010-06-16 21:21:43

回答

0

行,所以這是我現在有

- (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; 

} 

唯一的問題是,當我嘗試後排空間,它不會因爲它正試圖每次我打一次加破折號工作,我的猜測是退格鍵。任何人都知道工作?

+0

請參閱我的答案。你正在重新發明輪子,並被事實纏住。 – 2010-06-21 18:56:51

相關問題