2011-09-16 21 views
4

UIDatePickerを作成し、イベントUIControlEventValueChangedのターゲットを追加しました。日付選択ツールのデフォルト値は、現在の日付に設定されています。UIDatePicker:デフォルト値を選択することはできません

テキストフィールドにクリックすると日付ピッカーが表示されます。次に、日付を選択し、日付選択ツールでビューコントローラの外側をクリックすると、それが消え、テキストフィールドが選択された日付に設定されます。

問題は、現在の(デフォルトの)日付を選択したい場合です。値をデフォルト値に戻したり、デフォルト値に戻したりする必要があります。これは、日付ピッカーがUIControlEventValueChangedイベントを発生させるためです。また、(日付ピッカーでビューコントロールの外をクリックするだけで)日付値を入力したい場合は、ユーザーに決定させる必要があります。

デフォルト値との間で値を変更せずに日付ピッカーのデフォルト値を選択させる方法を教えてください。

答えて

0

テキストフィールドが表示されるとすぐにテキストフィールドに日付を設定するだけでよいですか?そうすれば、現在の日付がテキストフィールドに必要なものであれば、ユーザーは何もする必要はありません。

何らかの理由でテキストフィールドを空白にする必要がある場合は、ユーザーが最初にタップする(つまり、UIDatePickerを表示すると同時に)テキストフィールドに現在の日付を表示することができます。

これらのいずれも受け入れられない場合は、UIControlEventTouchDown/UIControlEventDragInside/UIControlEventEditingDidBeginなど、別のコントロールイベントのターゲットアクションを設定しようとしましたか?

+0

あなたのアドバイスは良いですが、むしろ選択した日付を確認し、UIDatePickerでポップオーバーコントローラを非表示にするボタンを追加しました。 –

0

_isDateChangedと呼ばれるプライベートメンバーを追加します。UIControlEventValueChangedイベントアクションが呼び出された場合は、YESに設定します。ポップオーバーが消えると、_isDateChangedYESかどうかを確認し、そうでない場合は変更アクションをトリガーします。

関連する問題