你最喜欢的UITableView / UITableViewCell技巧是什么?

时间:2009-05-09 14:40:51

标签: iphone cocoa-touch

UITableView是一个非常强大的类,为iPhone上的许多导航和首选项视图提供支持。许多人提出了有用的UITableView提示,技巧和示例:

  • 使用Interface Builder创建表格单元格的各种方法
  • 如何创建偏好风格的单元格
  • 确保良好的滚动速度

请发布您最喜欢的使用UITableView的提示,每个问题一个提示。我将首先发布我在Stack Overflow上发现的那些以及我书签中的那些。

7 个答案:

答案 0 :(得分:9)

有没有想过UITableViewController真正做了什么?

  • 在viewWillAppear中,它使用animated:YES取消选择所有选定的行。

    这就是为什么当您在UINavigationController中导航回来时,您之前触摸过的行可以通过动画很好地取消选择。当您将新视图控制器推送到UINavigationController时,您已选中该行。当您弹出它并返回到表视图时,viewWillAppear将触发并取消选择该行。 UINavigationController甚至不知道这件事。

  • 在viewWillAppear中,如果表视图不包含任何行,则会调用reloadData

  • 在viewDidAppear中,它调用flashScrollIndicators

  • 它监视键盘出现和消失并适当调整表格视图的大小,以便在表格视图中点击文本字段时,键盘出现后仍然可见。

如果您不需要键盘监控行为,如果需要,可以自行完成其他任务。

答案 1 :(得分:4)

在编辑模式下实现“复选标记”以一次操作多行:“{CQ With Love博客”中的“Multiple row selection and editing in a UITableView”。

答案 2 :(得分:4)

如何实施自定义单元格背景视图?

Mike Akers在Stack Overflow上的“How to customize the background/border colors of a grouped table view?”中的优秀示例课程。

答案 3 :(得分:3)

如果要删除分隔线,请使用:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

答案 4 :(得分:2)

为了确保良好的滚动性能,尽可能避免任何元素的透明度非常重要 - 因此,如果您要创建自定义单元格,请将它们全部设为不透明并正确设置背景。

您可以使用核心动画效果工具直观地查看单元格中的透明度 - 您必须在设备上运行才能使用此工具。

答案 5 :(得分:0)

实现偏好风格的分组表:Three20库(从Facebook iPhone应用程序中提取)有一组现成的单元格,其中包含各种控件。

(不确定你是否想要使用它们.Tanning20会受到“not-invented-here”的影响而尝试子类化并扩展所有内容,所以添加它会给你的项目增加一些混乱。但是至少你可以用它作为一个例子。)

答案 6 :(得分:0)

如何使用Interface Builder创建您的单元格?在单独的Stack Overflow讨论中找到答案:“Using Interface Builder for UITableView’s