1

複数のテキストフィールドを持つフォームがあります。これらのテキストフィールドの大部分は、クリックすると、期待どおりの方法でキーボードを表示することにより、標準の動作を生成します。

ただし、これらのテキストフィールドの一部がクリックされたときに、次のいずれかを表示して標準の動作をオーバーライドしたいと考えています。

1) A datepicker, or
2) A Combobox

質問1:

標準の動作をオーバーライドして、デフォルトのキーボードの代わりに日付ピッカー/コンボボックスを表示するにはどうすればよいですか?

質問2:

現在、キーボードと日付ピッカー/コンボボックス (日付ピッカー/コンボボックスの上にあるキーボード、またはその逆) の両方が同時に画面に表示される状況があります。いつでもどちらか一方 (デフォルトのキーボード、または日付ピッカー/コンボボックス) しか表示されないはずなので、これが発生しないようにするにはどうすればよいですか。

PS このサイトで似たような他の質問を見たことがありますが、私の質問には答えていないようです。

コメント/提案は大歓迎です...

4

3 に答える 3

0

最初にテキストフィールドを作成する必要があります。次に、その編集イベントがそのテキストフィールドをぼかし、日付ピッカーまたはコンボボックスを開きます。Titaniumでキーボードを非表示にしてdatepickerを表示する方法です。

于 2012-05-16T10:48:09.147 に答える
0

これは、トリックを介して達成できます。キーボードの表示を非表示にするには、このプロパティをテキスト フィールドに設定します。

enabled:false

テキストフィールドのクリックイベントを使用して、日付ピッカーを表示します。

于 2012-05-16T13:21:07.430 に答える
0

テキストファイル化されたデリゲートを実装し、デリゲート メソッドで

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField  
{  
   //Check the textfield for which you want to display date picker
    if(textField == datePickerTextField)
    {
       [self showDatePicker];
       return NO; //to disallow editing i.e it will not open keyboard
    }
}
于 2012-05-16T09:24:42.573 に答える