0

我有一个带有 3 个 UITableViewCells 和 3 个带有其他数据的 Picker 视图的 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

这样做在 .h 文件中创建 memberVariable NSIndexPath *selectedIndexPath并创建其属性。

现在在 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 回答