当 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 中添加一个按钮(如邮件应用程序)的主要内容,如果未能解决你的问题,请参考以下文章

当 UIsearchBar 点击和键盘显示时在事务中调用

UISearchDisplayController 结果表重叠 UISearchBar

UISearchBar 没有更新

呈现搜索结果控制器时 UISearchBar 的高度不正确

UISearchBar 在搜索没有结果时显示标签,但在单击 UISearchBar 中的 x 时不会再次隐藏标签

UISearchBar - 不显示搜索结果