1 つのビューに 4 つの UIpickerviews があります。そして、それらすべてに 1 つの配列を設定したいと考えています。現時点では、ビューが表示されると、データを含む 1 つのピッカー ビューが表示されますが、他のビューは空です。2番目のスクロールを開始すると、データが入力され始めますが、最初のスクロールは空になり始めます。UIPickerVIew を設定する通常の方法を使用しています。
1 に答える
0
質問への回答の最初に、UIPickerViewDataSource のデリゲート ルーチンを実装する必要があります。
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 4;
}
おそらく、コード内に上記のルーチンがすでにあるはずです!!!
次に、以下を実装する必要があります。
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
switch(component){
case 0:
// return X based upon how many for the left-most column
case 1:
// return X based upon how many for the second left-most column
case 2:
// return X based upon how many for the third left-most column
default: // Serves as 4
// return X based upon how many for the right-most column
}
}
または、上記のルーチンでは、単純に (入力するデータが各列に対して n である場合、配列サイズは n * 4 である必要があります)
[myArray count]; // Where myArray is replaced with you array variable name
最後に実装します:
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
// Assuming your array is filled with strings only
int index = [myArray count] / 4 * component + row;
return [myArray objectAtIndex:index];
}
これは、配列が次のようになっていると仮定しています
[1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4]
数字は、データ自体ではなく、データが属する列を表します
于 2012-06-29T13:08:53.640 に答える