2012-10-22 48 views
3

我在一个视图中使用UIPickerView,在同一视图中,我必须在5个以上的地方使用UIPickerView。我所做的就是,创造了一个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

您可以为pickerView设置标签值.... – Venkat

+0

Ya我一直只通过标签来区分,问题在于选择高亮。 – Newbee

+0

您必须保存所有pickerviews的行索引,并且每次调用pickerview时,都需要使用selectRow:inComponent:animated:方法选择该行。 –

回答

1

例如,当用户选择第5行时,您存储一个值,对吧? 当显示选择器接下来的时间,你可以将它像这样的选择:

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

Hoep这会有所帮助。

干杯!