2009-06-24 9 views

答えて

12

UIPickerViewDelegateプロトコルをサポートするコントローラー(またはPickerViewの動作を制御するもの)を作成します。その後、実装:

- (int) numberOfColumnsInPickerView:(UIPickerView*)picker 

を各列の行数、そして最終的に返すようにしたい列の数、および

- (int) pickerView:(UIPickerView*)picker numberOfRowsInColumn:(int)col 

を返すために:セットアップに

- (UIPickerTableCell*) pickerView:(UIPickerView*)picker tableCellForRow:(int)row inColumn:(int)col 

を各セル。

UIPickerViewおよびUIPickerViewDelegateのリファレンスを参照してください。

+0

適切なコードのリンクは例ではありません。あなたの答えから削除しました – Dejell

2

この件に関する優れたチュートリアルはhereです。

0

静的データを保持する辞書または2つの配列があるとします。簡単にするために、私は非常に単純な配列を使用します。

ビューコントローラのインターフェイス定義を変更して、ビューコントローラがデータと委任をピッカービューに提供できることをプログラムに通知する必要があります。ちょうどそれがドキュメントはオプションですが、より多くのカスタマイズと制御を提供し、他の方法のためにチェックする必要がありますが動作するようになる方法のカップルを実装するより

@interface NVHomeViewController : UIViewController <UIPickerViewDelegate,UIPickerViewDataSource> 

@interface NVHomeViewController : UIViewController <UIPickerViewDelegate,UIPickerViewDataSource> 

NSArray *options; 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    options = @[@"a",@"b",@"c",@"d"]; 
} 

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ 
    return 1; 
} 

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ 
    return [options count]; 
} 

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ 
    return [options objectAtIndex:row]; 
} 

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ 
    NSLog(@"%@ selected.",[options objectAtIndex:row]); 
} 
関連する問題