2010-12-11 42 views

回答

4

這有兩種方法。

a)首先,將視圖控制器作爲兩個採集器的委託和數據源。然後在視圖控制器的實現做這樣的事情:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 
{ 
    return (pickerView == picker1 ? 2 : 3); 
} 

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
{ 
    NSArray *values = (pickerView == picker1 ? values1 : values2); 
    return [values count]; 
} 

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 
{ 
    NSArray *values = (pickerView == picker1 ? values1 : values2); 
    return [values objectAtIndex: row]; 
} 

注意,你「對飛」的值返回爲每個pickerView參數實例變量指向比較你的選擇器視圖之一,並決定選擇器視圖。 b)爲每個選擇器視圖(它們可以是實現UIPickerViewDelegate和UIPickerViewDataSource協議的任何對象,不一定是視圖控制器)分配不同的數據源和委託。

相關問題