2つ以上の列を持つUIPickerViewの作成に関する他の質問をお読みになりましたが、正確な解決策が見つかりません。iPhoneの非常に簡単な質問です。 2つの列を持つUIPickerViewを作成するには?
これはiPhoneのプログラムによってどのように行われますか?静的データをどのように追加しますか?ありがとう!
2つ以上の列を持つUIPickerViewの作成に関する他の質問をお読みになりましたが、正確な解決策が見つかりません。iPhoneの非常に簡単な質問です。 2つの列を持つUIPickerViewを作成するには?
これはiPhoneのプログラムによってどのように行われますか?静的データをどのように追加しますか?ありがとう!
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のリファレンスを参照してください。
この件に関する優れたチュートリアルはhereです。
静的データを保持する辞書または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]);
}
適切なコードのリンクは例ではありません。あなたの答えから削除しました – Dejell