0

私は 3 つの UITableViewCells と 3 つの Picker Views を持つ UITableView を他のデータと共に持っています。

Picker1 には Data1 があります

Picker2 には Data2 があります

Picker3 には Data3 があります

これをコードで:

- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row      forComponent:(NSInteger)component;
{
if (thePickerView.tag == 1) {
    return [data1 objectAtIndex:row];
} else if (thePickerView.tag == 2) {

return [data2 objectAtIndex:row];        

} else if (thePickerView.tag == 3) {

    return [data3 objectAtIndex:row];

}
return [data1 objectAtIndex:row];

}

UITableViewCellでピッカービューのデータを変更したい。どうすればそれができますか?

4

1 に答える 1

0

これを行うには、 memberVariable NSIndexPath *selectedIndexPathを .h ファイルに作成し、そのプロパティを作成します。

今 tableViewDelegate メソッドで:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    selectedIndexPath = [indexPath retain];
    //reload pickerview here
}

Picker View Delegate メソッドは次のようになります。

- (NSString *)pickerView:(UIPickerView *)pickerView 
          titleForRow:(NSInteger)row forComponent:(NSInteger)component 
{
  switch (selectedIndexPath.row) 
  {
    case 0:
        //first cell selected picker view
        break;
    case 1:
        //second cell selected picker view
        break;
    case 2:
        //third cell selected picker view
        break;
     default:
     break;
  }
}
于 2012-06-26T04:44:24.643 に答える