【问题标题】:Navigating from UITableView to another ViewController and then going back to the TableViewController causes some elements to disappear从 UITableView 导航到另一个 ViewController 然后返回到 TableViewController 会导致一些元素消失
【发布时间】:2017-08-29 09:32:31
【问题描述】:

我的笔记应用出现了一个奇怪的问题。 我有一个ViewController,它是一个UITableView 委托和数据源(我不使用UITableViewController) 表格视图是笔记列表。单击一个将打开所选笔记的编辑器视图控制器。

当我单击一个单元格,然后单击“返回”按钮返回表格视图时,表格视图 UI 的某些元素似乎丢失了。

这是表格视图的前后截图:

我正在使用 Realm 移动数据库来存储笔记的数据。

当我调试时,我看到数据实际上填充在单元格中,它只是没有出现在屏幕上。

我尝试删除该应用并重新安装它

我尝试删除故事板并从头开始重建所有内容

我检查了cellForRowAt indexPath 并确保正在填充数据。

更新 - cellForRowAt indexPath: 的代码:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: NoteListCell.identifier, for: indexPath) as! NoteListCell

    let object = results[indexPath.row]
    cell.configureCellWith(note: object)
    return cell
}

我什至尝试为消失的标签添加背景颜色,以查看它们是否仍然存在,或者只是缺少文本(不是文本,整个标签都消失了)。

我的代码中没有任何特殊的东西来处理 tableview 数据或在视图控制器之间导航。我的 viewWillAppearviewWillDisappear 两个 VC 方法都没有导致这种情况(我厌倦了从这些方法中删除所有内容,但问题仍然存在)

有人知道我还能检查什么吗?

【问题讨论】:

  • 显示您的cellForRowAt indexPath 代码
  • 检查你的 didselectrow 方法。可能是您在选择时更改颜色,或者您提供的选择样式正在更改选择单元格时的颜色。
  • @Venkat 我用代码更新了我的问题,但我怀疑它与 tableview 方法有关,因为问题发生在导航回 tableview 视图控制器之后,这些方法甚至没有调用。
  • @KrishnaDattShukla 我检查了,我没有任何类似的东西,我在didSelectRowAt 方法中所做的只是将 segue 转到下一个视图控制器
  • @Gil 显示您的configureCellWith note: 代码

标签: ios swift uitableview uinavigationcontroller


【解决方案1】:

所以我仍然不知道为什么会这样,但我安装了 Xcode 9 beta 并从那里运行项目(我之前使用的是 8.3.3)并且问题消失了。 重新安装 8.3.3 也可能解决此问题。

【讨论】:

    猜你喜欢
    • 2020-11-16
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    相关资源
    最近更新 更多