Iphone 将UIPickerView选择设置为UITableViewCell内的UITextField

Iphone 将UIPickerView选择设置为UITableViewCell内的UITextField,iphone,uitableview,uitextfield,uipickerview,uipopovercontroller,Iphone,Uitableview,Uitextfield,Uipickerview,Uipopovercontroller,我在自定义tableview单元格中有一个UITextField。点击textfield区域时,我会显示一个包含pickerview的popover。我需要将选择从pickerview设置为textfield的文本。我显示textDidBeginEditing方法中的popover。如何将选择从pickerView的didSelect方法传递到textfield 通过设计,整个过程都在TableViewController中,实现了textfield和pickerview委托方法 谢谢 你能提供

我在自定义tableview单元格中有一个UITextField。点击textfield区域时,我会显示一个包含pickerview的popover。我需要将选择从pickerview设置为textfield的文本。我显示textDidBeginEditing方法中的popover。如何将选择从pickerView的didSelect方法传递到textfield

通过设计,整个过程都在TableViewController中,实现了textfield和pickerview委托方法


谢谢

你能提供更多的信息吗?tableView:cellForRowAtIndexPath:看起来像什么?我很好奇你正在编辑的对象在哪里

我可以想出几种方法

在文本字段上设置标记,并使用它定位正在编辑的特定文本字段 将pickerView的委托设置为tableCell,并让它处理文本更改
只需将UIPickerView的委托设置为具有UITableView的viewcontroller。这样,在tableview的viewcontroller中实现的UIPickerView的didSelect上,您只需使用pickerview的数据源来填充textfield

要从tableview获取自定义单元格,只需执行以下操作:

CustomTableViewCell *thisCell = (CustomTableViewCell*)[tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:section]];
然后将其中的文本字段设置为具有所需的任何文本:

thisCell.textField.text = @"text";

我认为最好的方法是将UITextField的inputView属性设置为UIPickerView。将显示此视图

当UITableViewCell滚动到表的边界之外时,它可能会被取消分配。因此,存储对调用其textFieldDidBeginEditing:delegate方法的UITextField的引用可能会导致EXC_BAD_访问异常


解决方案是修改由视图控制器存储在阵列中的单元模型。初始化单元格时,应将文本字段的值设置为其模型对象中的相应值。最后,单元格应通过KVO观察其模型的变化,并相应地更新文本字段的值。

谢谢mate!我想知道我怎么会错过这件事这么久!只需在CellForRowatineXpath方法中存储包含单元格的特定文本字段的indexPath,并按照您在pickerView didSelect方法中的要求将存储的indexPath作为参数传递给CustomTableViewCell*[self.tableView CellForRowatineXpath:storedIndexPath];