如何使用太多的UITextViews来提高UITableViewCell的性能?

时间:2011-11-08 02:47:49

标签: ios uitextview uitableview

我有一个带有太多UITextView的UITableViewCell,而且我的表现一直不好。

我想绘制文本,当用户点击文本尝试编辑时,在那里放一个真正的UITextView。

我该如何实现?

2 个答案:

答案 0 :(得分:0)

iOS Developer Library中有一个名为TableViewSuite的示例,这里有一些如何实现UITableView's的示例,最后一个示例(数字5)具有实现的最佳方式UITableView具有性能,所以我建议你查看这个例子。

TableViewSuite项目的说明:

  

此示例显示如何通过进程使用UITableView   越来越先进的应用程序,显示时间信息   区。

     

实现表格视图单元格时,最佳之间存在张力   滚动性能和最佳编辑/重新排序性能。您   通常应该在单元格的内容视图中使用子视图。

     

当您有编辑或重新排序控件时,使用子视图会生成   实现更容易,动画效果更好,因为UIKit   在动画期间不必重绘。

     

子视图有两个成本:

     

1)初始化。通过重用表可以在很大程度上减轻这种影响   细胞。 2)合成。通过制作,可以在很大程度上减轻这种影响   视图不透明。通常,一个半透明的子视图很好,但不止于此   一个人在滚动时经常导致帧丢失。

     

但是,如果内容很复杂(超过三个子视图),   滚动性能可能会受到影响。如果这成为一个问题,你可以   而是直接在表格视图单元格的内容的子视图中绘制   图。

     

第五个例子是第四个例子的扩展。它显示更多   有关每个时区的信息,例如时间和相对日期   那个时区。它显示了如何创建自定义表格视图单元格   包含在-drawRect:。

中绘制其内容的自定义视图

答案 1 :(得分:0)

只需在UITextView下添加UITableViewCell作为子视图。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath中,您可以添加UITextView,如下所示:

// Assume cell is a UITextView *
UITextView *txtView = [[UITextView alloc] initWithFrame:CGRectMake(5, 30, 100, 30)];
[cell addSubview:txtView];

return cell;