这可能是一个简单的问题。帮助重置UITableViewCells

时间:2011-06-30 15:58:03

标签: iphone objective-c cocoa-touch uitableview uinavigationcontroller

我有一个严重的疑问。这可能很简单,但我需要一些帮助。

我有一个视图(view1),我导航到(view2)。在View 2中有一个带有一些textFields的tableView(作为SubView添加),我将一些数据添加到UITableViewCells中的textFields。

我按下后退按钮,然后返回查看1.

如果我再次导航到视图2,则textFields处于与之前相同的状态。我希望它是零,并在其中显示占位符。如何在不中断所有其他数据的情况下再次使textFields为空?

我在视图1中使用NSUserDefaults让视图2知道我正在导航。但是......方法     似乎没有再次调用- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPathviewDidLoad。只有再次调用它,我才能在uitableViewCells nil中创建textField。

有人能告诉我每次导航到view2时如何调用tableViewCells?

2 个答案:

答案 0 :(得分:0)

要让textFields恢复到原始状态,最好使用viewDidDisappear方法中的某些逻辑。在最基本的形式中,每当视图消失时,您将找到textField个实例(通过直接引用或通过搜索tableView子视图)并向每个实例发送textField.text = @"";。这将清除文本。如果您需要存储任何文本,您可以在清除之前调用NSString *myText = textField.text;之类的内容并使用它执行所需操作,以及在完成视图之前执行任何其他检查或存储

答案 1 :(得分:0)

我不敢相信我错过了这个。我不知道是否应该删除这个问题......

  1. 我使用了一个简单的[tableView reloadData];
  2. viewDidAppear;
  3. 中使用它

    这两件简单的事情就行了!