UITableView是一个非常强大的类,为iPhone上的许多导航和首选项视图提供支持。许多人提出了有用的UITableView提示,技巧和示例:
请发布您最喜欢的使用UITableView的提示,每个问题一个提示。我将首先发布我在Stack Overflow上发现的那些以及我书签中的那些。
答案 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”