1

我有一个嵌入了 UITableView 的 UIView。同一视图中的一个文本字段应控制表格的单元格编号。如果用户输入数字 4,TableView 应立即更改其单元格编号以反映用户输入的内容。单元格的内容将类似于“请选择”。

然后,当用户选择一个单元格时,将提出日期选择器,让用户选择日期/时间,然后,当拾取器被拆除时,该单元格应更改为所选的日期/时间。

两天多以来,我都为此发疯了。我没有在这里放任何代码,因为我真的不知道从哪里开始,到目前为止我尝试过的所有事情都完全失败了。

如果有人能引导我找到解决方案,我将不胜感激。谢谢。

4

2 回答 2

1

如果您在 iPad 上,您可以在用户选择它时从所选单元格中显示一个 UIPopOverController。在 iPhone 上,您可以呈现模态视图控制器。

为此,请参阅-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

当 UIDatePicker 的呈现视图控制器被解除时,您必须实现处理从 UIDatePicker 获取值的代码。此外,您必须将 UIDatePicker 托管在视图控制器中,因为(据我所知)无法自行呈现它。

所以,我提出的解决方案是:

  1. 创建一个新的视图控制器来托管您要呈现的 UIDatePicker。
  2. 在该视图控制器上,放置“确定”和“取消”按钮。
  3. 向该视图控制器添加一个引用您的“主”视图控制器的属性。这样,当您选择完日期后,承载 UIDatePicker 的视图控制器就可以向“主”视图控制器发送消息。
  4. 在您的“主”视图控制器中,tableView:didSelectRowAtIndexPath:为您的 UITableView 处理事件。
  5. 呈现视图控制器以向用户显示 UIDatePicker。
  6. 如果用户选择“确定”,则关闭 modal/popOver 视图控制器并使用新信息更新单元格(您可能需要一个 NSDate 值数组和[tableView reloadData]执行此操作的调用)。
  7. 如果用户选择“取消”,则关闭模态/popOver 视图控制器并且不要更新任何内容。
于 2012-04-30T17:40:06.343 回答
1

i think this tutorial will help you.. i have followed that too..i was also faced the same problem that you have..

于 2014-04-02T11:57:21.027 回答