如何更有效地使用UIPickerView?

时间:2012-10-22 09:12:01

标签: iphone objective-c ios cocoa-touch uipickerview

我在我的一个视图中使用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创建不同的插座。或者这是唯一的方法?哪一个更有效?

感谢。

1 个答案:

答案 0 :(得分:1)

例如,当用户选择第5行时,存储一个值,对吗? 当您下次显示选择器时,您可以移动它的选择:

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

这会有所帮助。

干杯!