2011-10-20 26 views
0

UIpickerviewに問題があります。私のアプリでは国リストを表示するためにuipickerviewを実装しました。私はuipickerviewの上に2つのボタン(CancelとDONE)を持つツールバーを追加します。私がキャンセルを押すと、単にuipickerviewが隠され、すべて正常です。 DONEボタンを使用するとコンポーネントから選択された行の値が得られ、pickerviewが表示されないようにします。誰かがcountrylistを非常に速く動かすと、突然DONEボタンを押してからuipickerviewを非表示にします。コンポーネントからの行の値。それは私の問題です。Uipicker移動の停止を知る方法

ピッカーの動きが止まったときにそれを処理できる場合は、DONEボタンを表示する必要があります(移動状態の場合)DONEボタンは表示されません。

この問題を解決する方法はありますか。

ありがとう、

答えて

1

これは役に立ちます。

[myPickerView addTarget:self action:@selector(pickerDidStop) forControlEvents:UIControlEventValueChanged]; 

ここで、ピッカーがスクロールを停止すると、pickerDidStopメソッドが呼び出されます。 Uはその方法の中で欲しいことを何でもすることができます。

ハッピーコーディング!乾杯!!

+0

-addTarget:action:forControlEvents:UIControlメソッドですが、UIPickerViewはUIViewから派生しています。 UIPickerViewのインスタンスはこのメソッドに応答しません。 –

0

あなたはグローバル変数を取ることができ、以下の方法で使用することにより:

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

をあなたはそのグローバル変数に値を割り当てることができます。 グローバル変数のDoneボタンの条件を確認することで、好きなように操作できます。

関連する問題