0
嗨我有3 UITextFields
,我想在用戶輸入3個字符時自動更改爲下一個textfield
。我設法限制一個textfields
有一個正常的鍵盤輸入,其他2有一個數字鍵盤,我可以限制長度的長度。當達到確定長度時自動更改UITextField
以下是我對textfield
之一限制長度:
-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (dia.text.length >= 2 && range.length == 0)
{
[self.mes becomeFirstResponder]; // esto activa el siguiente textfield
return NO;
}
if(mes.text.length >= 3 && range.length == 0) {
[self.anio becomeFirstResponder]; // esto activa el siguiente textfield
return NO;
}
if (anio.text.length >= 4 && range.length == 0)
{
[self.hora becomeFirstResponder]; // esto activa el siguiente textfield
return NO;
}
if (hora.text.length >= 2 && range.length == 0)
{
[self.minutos becomeFirstResponder]; // esto activa el siguiente textfield
return NO;
}
return YES;
}
編輯:在viewDidLoad中我有這5條線,如果我刪除他們的限制不適用於任何人,但如果我離開他們,我只能在一個文本字段上輸入文本:
self.dia.delegate = self;
self.mes.delegate = self;
self.anio.delegate = self;
self.hora.delegate = self;
self.minutos.delegate = self;
無需調用'resignFirstResponder'上當前文本字段。只需在下一個調用'becomeFirstResponder'即可。 – rmaddy
是的,你是對的。 – pasine
@notme非常適用於那些有默認鍵盤的人,但對於數字鍵盤的人來說,長度限制不起作用 – dastjuso