我有一个带有太多UITextView的UITableViewCell,而且我的表现一直不好。
我想绘制文本,当用户点击文本尝试编辑时,在那里放一个真正的UITextView。
我该如何实现?
答案 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;