gpt4 book ai didi

ios - 未选择单元格时设置 UITableViewCell 的文本

转载 作者:行者123 更新时间:2023-11-29 04:59:27 25 4
gpt4 key购买 nike

我有一个正在实例化的 UITableViewCell(在“cellForRowAtIndexPath”方法中)

[cell setAccessoryType:UITableViewCellAccessoryDetailDisclosureButton];

单击“附件按钮”时,会弹出一个 UIDatePicker,它应该将单元格的文本设置为所选日期。选择器显示,我的单元格不为零,但是,我无法看到单元格的实际文本(日期),直到我单击它(单元格,而不是“附件按钮”)。

这是设置文本的代码:

targetCell.textLabel.text = [formatter stringFromDate:_datePicker.date];

targetCell 是调用方法“accessoryButtonTappedForRowWithIndexPath”时设置的实例变量。

就像我说的,我知道文本正在单元格中设置,因为当我单击实际单元格时,我可以看到选择器中选择的日期。

最佳答案

您似乎正在尝试直接修改当前显示的表格 View 单元格。即使您设法以这种方式更改它,这仍然不起作用,因为当您的行滚动到 View 之外时,其相应的单元格将重新用于另一行。因此,您的更改要么会丢失,要么会显示不正确的内容。

管理此问题的正确方法是:

  1. 从日期选择器中选取值时更改数据源,而不是单元格
  2. 通过重新加载来重新加载单元格的 View
    • 使用-[UITableView reloadData]的整个表格 View ,或
    • 仅使用 -[UITableView reloadRowsAtIndexPaths:withRowAnimation:] 的该行

使用这两种方法中的任何一种都会导致调用 TableView 数据源的 -tableView:cellForRowAtIndexPath: ,这将使用新单元格更新行。因此,即使该行滚动到 View 之外,也会显示正确的日期。

关于ios - 未选择单元格时设置 UITableViewCell 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7291142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com