2 つの列 pickerView があります。最初の列には、km、フィートなどの単位があります。km 1,2,3 とフィート 100, 2000, 300 の両方に異なる値を設定したいのですが、次のコードを実行しました。viewDidLoad メソッドで unitArray と distanceArray の 2 つの配列を宣言します。
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 2;
}
-(NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if (component == UNIT)
return [unitArray objectAtIndex:row];
else
return [distanceArray objectAtIndex:row];
}
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
distanceRow = [distancePicker selectedRowInComponent:DISTANCE];
unitRow = [distancePicker selectedRowInComponent:UNIT];
dist = [distanceArray objectAtIndex:distanceRow];
unit = [unitArray objectAtIndex:unitRow];
txtIBOutletDistance.text =[NSString stringWithFormat:@"%@ %@",dist,unit];
}
このコードを実行した後、km とフィートの両方に同じ値を表示しています。つまり、km とフィートを 1 つの列に、1,2,3 を 2 列目に表示しています。選択した後、km の値は 1,2,3 で、フィートの選択値は 100,200,300 にする必要があります。誰かがそれを行う方法を知っているなら、私を助けてください。私は彼/彼女に感謝します。