在显示整个表格之前使用键盘时,单元格在静态表格中消失

Posted

技术标签:

【中文标题】在显示整个表格之前使用键盘时,单元格在静态表格中消失【英文标题】:Cells disappearing in static table when working with keyboard before displaying whole table 【发布时间】:2018-02-01 20:36:48 【问题描述】:

我使用情节提要创建了一个更大的静态表格(不适合 iPhone 6 显示器)。 Static table in the storyboard.

只有当我一直滚动表格时它才能正确显示。当我在滚动表格(keyboard editing text field) 之前打开任何键盘时会出现问题,而不是我的一些单元格消失。 Cells disappeared. 只有当我再次上下滚动时它们才会出现。

有什么建议吗?

[UDPATE] 我试图重新创建问题,看来问题是由约束引起的。当我添加经典的 UITextField 时它工作得很好,但是当我添加任何约束时,它的行为与上面描述的完全一样。

【问题讨论】:

尝试向上移动窗口,当你显示键盘时, 【参考方案1】:

此问题的解决方案是每次UITextField Editing Did End 对每个消失的单元格调用setNeedsUpdateConstraints

// example code
@IBAction func textFieldEndEditing(_ sender: UITextField) 
    for cell in brokenConstraintsCells 
        cell.setNeedsUpdateConstraints()
    

【讨论】:

以上是关于在显示整个表格之前使用键盘时,单元格在静态表格中消失的主要内容,如果未能解决你的问题,请参考以下文章

表格视图单元格在设备上不可见

如何修复表视图单元格在启动时不显示?

新添加的表格视图单元格在反弹时隐藏

以 UIView 作为子视图创建的表格单元格在 iOS7 中不显示

为啥我的 UITableView 单元格在滚动时重叠?

如何让表格单元格在一行中显示尽可能多的文本,例如 GMail 和 Google Reader?