无法在自定义 UITableViewCell 中更新 UITextView 的文本

Posted

技术标签:

【中文标题】无法在自定义 UITableViewCell 中更新 UITextView 的文本【英文标题】:Can't update text of UITextView in a custom UITableViewCell 【发布时间】:2016-05-12 17:13:23 【问题描述】:

我遇到了一个似乎在网络上不断出现的问题,但一直无法解决问题...我正在尝试设置自定义 UITableViewCell 中的 UITextView 的文本当单元格的内容在其表格视图中呈现时在单元格上调用的加载函数。

这些是我在自定义 tableviewcell 中的 textview 上的当前设置。请注意,UserInteraction 未启用,但 Editable 和 Selectable ARE。

这是我的自定义 UITableViewCell 的控制器,其中包含函数“loadCell”

这是将自定义tableViewCell放入tableView的cellForRowAtIndexPath,初始化时调用loadCell()函数。

这是结果,textView 显然没有正确更新。

我想补充的另一个注意事项是,如果我在自定义 UITableViewCell 控制器中的 awakeFromNib 函数期间更新 textView,它能够成功地更改 textField 中的文本。

如果有人可以帮助我,那就太棒了,因为我希望能够使用 textViews 而不是标签 :) 谢谢!

【问题讨论】:

您只为第一行调用 loadCell。你的 if 语句没有意义。只需为每一行调用 loadCell。 是的,我同意@stefos - 您可能需要查看您在 table:cellForRowAtIndexPath: 方法中所做的事情。还要确保您的可重用单元标识符与您在代码或 InterfaceBuilder 中注册的单元类匹配。 我要实现更多的子句,我只是还没有在这个例子中。不过还是谢谢!我将在这个 tableView 的不同索引处加载不同的自定义单元格。 @Erator 我确定它们已正确链接,否则它不会加载单元格。 【参考方案1】:

所以,问题出在 cellForRowAtIndexPath 函数中,我在其中尝试了两次 dequeueReusableCell(一次在函数启动时,一次如果索引为 0)。我不完全确定这会导致问题的原因,但我可以假设它试图将同一个单元格出队两次,并导致了问题。

无论如何,摆脱 let cell = tableView.dequeueReusableCellWithIdentifier("MenuItemDescriptionCell") 成功了。

希望这对将来的某人有所帮助!快乐编码:)

【讨论】:

以上是关于无法在自定义 UITableViewCell 中更新 UITextView 的文本的主要内容,如果未能解决你的问题,请参考以下文章

UILabel 在自定义 UItableviewcell 中显示(空)

无法在自定义 TableViewCell 中编辑 UITextView

UIButton 在自定义 UITableviewCell 中没有响应

如何在自定义 UITableViewCell 中增加 Label 的高度

在自定义 UITableViewCell 的子视图中添加 UIViewController

在自定义 UITableViewCell 中调整 UITextView 的大小