2011-10-28 13 views
0

テキストフィールドの編集機能を開始し、キーボードを隠すようにピッカービューの外観を設定しました。今問題があるのは、ピッカービューが表示されたときに最初の値に選択インジケーターが表示されますが、その値はテキストフィールドには表示されません。ユーザーがテキストフィールドをクリックすると、ピッカービューが表示され、ピッカーからの値がテキストフィールドに表示され、選択インジケーターの場所が表示されます。それはどうですか?私は同じ順序で0,1,2,3の4つの値を持っているとします。ピッカービューが表示されたら、選択インジケーターは '0'の値になります。しかし、その値を取得するには、ピッカーのビューをスクロールして「0」に戻って、テキストフィールドにその値を表示する必要があります。それはなぜ起こるのですか?そして、どのように自動的に価値が得られますか?進歩でピッカービューが表示されるときに、最初に値を選択する方法はありますか?

おかげで...

答えて

1

まあ、あなたのピッカービューとテキストフィールドの間に接続されていません - あなたはそれを自分で行う必要があります。

考慮すべき二つのものがあります

1)の「1」を言わせて、あなたのテキストフィールドは、すでに値が含まれています。あなたがピッカーを開くと、ピッカーのためにあなたのデータ配列を想定し、機能

[yourPicker selectRow:1 inComponent:0 animated:false]

ですでにこの値に設定することができますされ、[0、1、2、3]。あなたの場合は、テキストフィールドを作るために値0を含んで、ちょうどあなたがピッカーが完了したら、それはとても

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

デリゲート関数を呼び出す)

[textField setText:@"0"]

2を呼び出しますビューにUIPickerViewDelegateプロトコルを実装し、上記のデリゲート関数を実装し、ビューをピッカービューのデリゲートとして設定する必要があります。 デリゲート関数では、ユーザーが選択した値(を使用してデータ配列値にアクセスできます)を取得し、この値をテキストフィールドに設定できます。

関連する問題