我在我的一个视图中使用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创建不同的插座。或者这是唯一的方法?哪一个更有效?
感谢。
答案 0 :(得分:1)
例如,当用户选择第5行时,存储一个值,对吗? 当您下次显示选择器时,您可以移动它的选择:
int index = [valuessForFirstPicker indexOfObject:storeValueForFirstPicker];
[picker selectRow:index inComponent:0 animated:TRUE];
这会有所帮助。
干杯!