3

ビューの 1 つで UIPickerView を使用しています。同じビューで、5 つ以上の場所で UIPickerView を使用する必要があります。私がしたことは、UIPickerViewのアウトレットを作成し、すべての場所で同じアウトレットを再利用することでした...たとえば...

audio_cap_picker = nil;
// Creat picker view.
if (audio_cap_picker == nil) {
    audio_cap_picker = [[UIPickerView alloc] init];
    audio_cap_picker.delegate = self;
    audio_cap_picker.showsSelectionIndicator = YES;
    [self.view addSubview:audio_cap_picker];
}

上記のように、ボタンがクリックされたときのピッカー ビューとその行のタイトルを作成しており、クリックされたボタンに基づいて関連情報が設定されています。正常に動作しています。ただし、問題は、毎回新しいものを作成しているため、ボタンをクリックしているときです。現在選択されている行が強調表示されているのではなく、最初の行が強調表示されているため、UIPickerView ごとに個別のアウトレットを使用する必要がありました。

UIPickerView 用に別のアウトレットを作成しないようにする方法はありますか。それともそれが唯一の方法ですか?どちらがより効率的ですか?

ありがとう。

4

1 に答える 1

1

たとえば、ユーザーが 5 番目の行を選択すると、値が保存されますよね? 次回ピッカーを表示すると、次のように選択を移動できます。

int index = [valuessForFirstPicker indexOfObject:storeValueForFirstPicker];
[picker selectRow:index inComponent:0 animated:TRUE];

これが役に立ちますように。

乾杯!

于 2012-10-22T09:46:09.343 に答える