高さの値を含むUITextFieldがあります。ユーザーがUITextFieldに入力しているときに、フィールドの値をフォーマットしたいと思います。たとえば、値を「5 ft 10」と入力する場合、フローは次のようになります。
1. Enter 5
2. " ft " is appended immediately after I type 5 with leading & trailing space.
私のコードは次のようになります。
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ( [string isEqualToString:@""] ) return YES;
// currHeight Formatting
if ( textField == currHeight ) {
if (currHeight.text.length == 1) {
currHeight.text = [NSString stringWithFormat:@"%@ ft ", currHeight.text];
}
}
return YES;
}
5を入力した時点で立ち往生しています。何も起こりません。「ft」を追加するには、任意のボタンをタップする必要があります。
何もタップせずにこれを行うことはできますか?