【问题标题】:Reuse the uitableview cell as well as the subview in the cell重用 uitableview 单元格以及单元格中的子视图
【发布时间】:2011-08-02 04:53:40
【问题描述】:

开发人员, 我已将 uitextviews 添加为 uitableviewcell 中的子视图。我在自定义单元格中有大约 4 列和 30 行。现在的问题是我每次都必须分配新的 uitextview ,这就是为什么滚动 tableview 变得非常慢,单元格需要很长时间才能加载。 谁能告诉我如何只分配一次我的 textview 并将其重用于其他单元格。

【问题讨论】:

  • 我正在使用表格单元格实例。但我也想重用作为单元格中子视图的文本视图。由于有动态列数,有时 2 或 3 可能 4,我正在填充表格行。第一行中的前 3 个起始元素。然后是第二行中的其他 3 个 uiview。我使用了自定义单元格,但是在填充该行中的第三个 uivew 时,前两个与第三个重叠。请告诉我如何重用单元格以及 uiview 的子视图..

标签: objective-c uitableview uitextview custom-cell


【解决方案1】:

如果您创建 UITableViewCell 的自定义子类,则可以对具有 UITextField 的单元格进行排队/出列。您应该可以使用以下方法重置您的文本视图:

- (void)prepareForReuse; 

一个程序有多个不同的 UITableViewCell 子类是正常的。这是 UIKit 中子类化最多的对象之一

【讨论】:

  • 我应该在这个方法中分配和初始化我的uitextview并调用这个方法吗?
  • 不,你在 init 方法中创建了 uitextview,UITableViewCell 没有被释放。它们被存储起来供以后重复使用。你也永远不会调用 - (void)prepareForReuse;操作系统会为你调用它。只需将此方法子类化以重置有关 UITextView 的所有值,它应该很好。
  • 你能告诉我如何使用自定义单元格创建 3 列吗?我使用了自定义单元格,但在填充第三列时,前两列与第三列单元格重叠。
猜你喜欢
  • 1970-01-01
  • 2011-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多