2

月と日だけが必要で、年は必要ないため、日付用に独自の UIPickerview を作成しているため、UIDatePicker を使用できません。別の月が選択されている場合、UIDatepicker が利用できない日を灰色にする方法を再現できないようです。例: 11 月を選択した場合、1 日から 30 日まで選択できますが、UIDatepicker を使用する場合は 31 日は選択できません。これを複製して特定の行をグレー表示して選択できないようにする方法を知っている人はいますか。前もって感謝します

4

2 に答える 2

2

あなたはすでにこれを理解しているかもしれませんが、同じ答えを探している人のためにさらに情報を追加したいと思いました.

あなたが試すかもしれない代替ルートは次のとおりです。

-(void)pickerView:(UIPickerView  *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

そのメソッドでは、pickerView 内の特定のコンポーネントが有効に選択されているかどうかを確認します。特定のコンポーネント(列 - なぜそれを呼び出さなかったのか)を次のように有効な行にリセットしなかった場合:

[pickerView selectRow:validRow inComponent:component animated:YES];

これにより、ユーザーが特定の無効な行を選択した場合に、有効な行まで上 (または下) にスクロールするという効果が得られます。

さらに、問題のコンポーネントのデータセットを変更してから、次のことを行うことができます。

[pickerView reloadAllComponents];

ピッカーを設定するときは、最初の実行時にこの検証を行う必要があることに注意してください。そのため、デフォルトで pickerView に無効なデータセットが含まれていないことを確認してください。

于 2011-03-12T04:43:59.150 に答える
0

カスタム ピッカー ビューを作成する必要があります。

于 2010-10-29T22:41:39.147 に答える