我想使用相同的viewController在同一個視圖中創建2個單獨的選擇器。 但是,如何爲他們設置單獨的代表和數據源?一個視圖中的多個PickerViews?
似乎無法得到它的工作。他們出現了相同的數據。如果您有任何示例代碼,將非常感謝。
謝謝。
我想使用相同的viewController在同一個視圖中創建2個單獨的選擇器。 但是,如何爲他們設置單獨的代表和數據源?一個視圖中的多個PickerViews?
似乎無法得到它的工作。他們出現了相同的數據。如果您有任何示例代碼,將非常感謝。
謝謝。
注意,數據源和委託協議,雙方的每一個方法包含UIPickerView *
參數,例如:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
您需要使用它的兩個實例之間進行區分,具體如下:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
if([pickerView isEqual: pickerOne]){
// return the appropriate number of components, for instance
return 3;
}
if([pickerView isEqual: pickerTwo]){
// return the appropriate number of components, for instance
return 4;
}
}
最簡單的方法是使用pickerView的tag
屬性。爲了便於閱讀,我通常在頭文件中定義這些內容。您可以在Interface Builder或代碼中設置標籤。
#define kPickerOne 0
#define kPickerTwo 1
在實現文件
則...
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
if(pickerView.tag == kPickerOne)
{
// do something with picker one
}
else if(pickerView.tag == kPickerTwo)
{
// the other picker
}
}
這個偉大工程,感謝..唯一的問題是我得到警告說:「警告 - 控制非深遠void函數的末尾」你知道爲什麼? – 2009-04-20 21:32:59