2011-01-10 7 views
1

UITextField.textプロパティを直接編集すると、UITextFieldDelegateは起動しません。カスタム入力ビューでUITextFieldを使用する適切な方法はありますか?私自身の数値パッドビューコントローラを作成し、UITextField.textを変更できますが、UITextFieldDelegate.shouldChangeCharactersInRangeからイベントを受け取らないとカーソル位置を取得できません。UITextFieldDelegateは直接UITextFieldDelegateを編集しません。

UITextFieldでカスタム入力を使用する正しい方法は何ですか?

答えて

0

あなたの実装ファイルに

+0

'UITextFieldDelegate'はカスタム' InputView'で起動しません。デリゲートを自分に割り当てるときにも。 – docchang

0

yourTextField.delegate = self 

この行を確認してください。また、私は我々のアプリケーション用のカスタムテンキーを作成しました。 shouldChangeCharactersInRangeは(setTextを使用して)プログラムによるテキストの変更に応答しないというのは正しいです。

[aField addTarget:self action:@selector(editingChanged:) forControlEvents:UIControlEventEditingChanged]; 

残念ながら、shouldChangeCharactersInRangeの外のUITextFieldのカーソル位置にアクセスするためのcurrently no wayがあります:私たちは、テキストフィールドにUIControlEventEditingChangedイベントを使用します。 this pasting methodを使用してカーソルにテキストを挿入できます。カスタムの削除キーについては、今のところ「フィールドの最後の文字を常に削除する」ルールを使用しています。

関連する問題