ここで、l1、l2、l3、l4 はUILabel
s です。
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSLog(@"%d",textField.text.length);
if (textField.text.length==0)
{
l1.text=@".";
l2.text=@"__";
l3.text=@"__";
l4.text=@"__";
}else if (textField.text.length==1)
{
l1.text=@".";
l2.text=@".";
l3.text=@"__";
l4.text=@"__";
}else if (textField.text.length==2)
{
l1.text=@".";
l2.text=@".";
l3.text=@".";
l4.text=@"__";
}else if (textField.text.length==3)
{
l1.text=@".";
l2.text=@".";
l3.text=@".";
l4.text=@".";
}
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return (newLength > 4) ? NO : YES;
}
ここで、出力は次のようになります...
textfield は 1234 で、ラベルは . . . .
正常に動作していますが、ユーザーがテキスト フィールドから文字を削除すると、次の結果が得られます。
"123" . . . . "12" . . . . 「1」。. . _ "" . . _ _
私が期待しているのは、テキストフィールドに文字が含まれていない場合、私のラベルには_ _ _ _が表示されるということです