当 UISearchBar 没有结果时在 UITableViewCell 中添加一个按钮(如邮件应用程序)
Posted
技术标签:
【中文标题】当 UISearchBar 没有结果时在 UITableViewCell 中添加一个按钮(如邮件应用程序)【英文标题】:Add a button in a UITableViewCell when UISearchBar has no results (like Mail app) 【发布时间】:2010-01-24 07:43:44 【问题描述】:我想模仿从 UISearchBar 中找不到任何结果时邮件应用程序的行为,并显示一个带有链接的单元格以调用方法。我不知道(或在任何地方找到)该怎么做。
我认为最接近的是以下内容(我已将其添加到我的代码中)
if ([self.keys count] == 0)
[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationBottom];
[self.tableView endUpdates];
[tableView reloadData];
【问题讨论】:
【参考方案1】:我相信这样的事情应该可以工作,但你的 uiTableViews:rowsInSection: 和这样的方法仍然需要返回正确的计数,并且 cellForRowAtIndexPath 也需要做正确的事情。由于无论如何它都必须这样做,您可能只想设置一些标志并在表视图上调用 reloadData 。 (事实上,如果没有 cellForRowAtIndexPath,reloadData 可能只是再次清表。)
【讨论】:
我最终做的是添加一个标志,表明我是显示表格行还是我的行。如果设置了该标志,则更新 numberOfRows 和 numberOfSections 以返回 1。在 cellForRow 中,在显示单元格之前检查该标志并将其设置为我想要的方式。以上是关于当 UISearchBar 没有结果时在 UITableViewCell 中添加一个按钮(如邮件应用程序)的主要内容,如果未能解决你的问题,请参考以下文章
UISearchDisplayController 结果表重叠 UISearchBar