2010-12-11 16 views

答えて

4

これには2つの方法があります。

a)まず、View Controllerを両方のピッカーのデリゲートとデータソースにします。そして、ビューコントローラの実装では、このような何か:あなたのピッカービューの1つにインスタンス変数ポインティングにpickerViewパラメータを比較

- (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]; 
} 

注意をしてごとに返すために値「オンザフライ」決定ピッカーが表示します。

b)それぞれのピッカービュー(UIPickerViewDelegateとUIPickerViewDataSourceプロトコルを実装するオブジェクトで、必ずしもビューコントローラでなくてもよい)にそれぞれ異なるデータソースとデリゲートを割り当てます。

関連する問題