3

我在我的一个视图中使用 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 回答