UITextField
事前に入力された接尾辞を使用してユーザーに提示したい があります。明らかに、事前に入力されたテキストの先頭に挿入ポイントを設定したいと思います。
これを行う方法は明らかではないように思えますが (たとえば、insertionPoint
プロパティがありません)、これを行うためのトリッキーな方法はありますか?
UITextField
事前に入力された接尾辞を使用してユーザーに提示したい があります。明らかに、事前に入力されたテキストの先頭に挿入ポイントを設定したいと思います。
これを行う方法は明らかではないように思えますが (たとえば、insertionPoint
プロパティがありません)、これを行うためのトリッキーな方法はありますか?
drawTextInRect: をオーバーライドして、サフィックスが UITextFields テキストに含まれていなくても、常にサフィックスを描画します (textfield.text を受け取り、サフィックスを追加して描画する一時文字列を使用します)。ユーザーが編集を完了したら、サフィックスを文字列に追加します (または、必要に応じて個別に使用します)。
私の知る限り、これを行う簡単な方法はありません。
これを行う最も簡単な方法は、ユーザーがテキストを入力した後にサフィックスを追加することです。何かが追加されることをユーザーに伝えるために、UI に何かを追加することを忘れないでください。
UITextField の末尾のすぐ隣に UILabel としてサフィックスを付けるか、次のように、編集が完了した後にデリゲートにサフィックスを追加させることができます。
@interface MyViewController : UIViewController <UITextFieldDelegate> {...}
...
[textField setDelegate:self];
...
- (void)textFieldDidEndEditing:(UITextField *)textField {
NSString *textWithSuffix = [[NSString alloc] initWithFormat:@"%@%@", [textField text], @"SUFFIX"];
[textField setText:textWithSuffix];
[textWithSuffix release];
}