0

テキストフィールドがファーストレスポンダーになったとき(つまり、フォーカスを取得したとき)に、標準のキーボード(ピッカーコントロール、日付ピッカーなど)とは異なるビューを表示したいと思います。現在、ユーザーがオプションを選択し、[OK]または[キャンセル]ボタンを押すナビゲーションスタックにピッカーコントロールを含むカスタムビューをプッシュしているので、これは本当に素晴らしいことです。

UITextField.InputViewのドキュメントによると:

このプロパティにカスタムビューを割り当てると、代わりにそのビューが表示されます。

しかし、それは読み取り専用です!!!

これに対する回避策はありますか?カスタムUITextFieldコントロールを実装し、どういうわけかInputViewプロパティをオーバーライドする必要がありますか?ある種のネイティブ関数を呼び出す必要がありますか?私はこれらのことのどちらもする必要がないことを本当に望んでいます...しかし、私がしなければならないのであれば、そうしてください。前もって感謝します!

4

3 に答える 3

2

ドキュメントは少し古くなっています。MonoTouch3.2.0以降にセッターがあります。

于 2011-01-07T18:21:17.107 に答える
1

Kevinの答えはUIKeyboardTypeキーボードでも機能しますが、私が知っている限り(私は間違っている可能性があります)、この方法でカスタムキーボードを提示することはできません。

カスタムキーボードを表示する方法を私が知っている唯一の方法はUIViewController、入力ビューを表示するためにInputViewをオーバーライドすることです。

UIView keyboardView;

public override UIView InputAccessoryView {
   get 
   {
       // create the view as you'd like here
       return keyboardView;
   }
}
于 2011-01-07T16:51:53.997 に答える
0

UITextFieldを接続して適切な編集イベントを処理し、イベントハンドラーで必要なKeyboardTypeを選択します。動的に設定する必要がない場合は、テキストフィールドを作成するときにプロパティを設定するだけです。

UITextField tf;
...
tf.KeyboardType = UIKeyboardType.PhonePad; // whatever kb you want
于 2011-01-07T16:42:36.510 に答える