Joa*_*urz 6 uitableview uisearchdisplaycontroller ios
我有一个由系统提供的东西列表(例如品牌),这些东西不是用户可编辑的,但必须不时更改.
这些内容显示在表视图中,可使用默认的UISearchDisplayController进行搜索.但是,由于事情列表肯定不完整,我想让用户能够请求在列表中添加其他内容.为此,我在原始表视图和搜索结果表视图中添加了一个表页脚视图,该视图提供了一个发送邮件的按钮.
只要搜索结果表视图仍包含条目,它就可以正常工作.我的表格页脚视图显示在搜索结果下方,一切正常.
但是,如果未找到搜索词的结果,搜索显示控制器将在表视图中心显示"无结果"标签.这通常看起来很棒,像这样:

但是由于我的tableFooterView仍然显示(我想要它!),"无结果"标签与我的页脚视图重叠,看起来很糟糕:

我认为在我的情况下我不需要"没有结果"的标签,因为我的页脚视图使得合理清楚地表明没有结果以及如何处理它.我也不介意,只要它不重叠.
我怎么能
如果这是不可能的,我也愿意接受其他方式显示页脚视图(而不是页脚)的建议,这不会有这个问题.但我喜欢这个解决方案,因为我可以在两种情况下使用它(普通表视图和搜索结果表视图),而不必更改任何内容.
首先,重要的是要记住,使用UISearchDisplayController是可定制性和便利性之间的权衡.你可以免费获得大量的自动化东西,但如果你需要大量的自定义,它可能不适合你的需求.它最适合作为一种插入式解决方案,如果您真的想使用它,我建议您使用它来运行您的应用程序,而不是试图破解它的行为.
话虽如此,为什么不在UITableView没有结果的情况下让回报单行?这行可以是空的,显示一些样板文本或图像(悲伤的脸或与应用程序匹配的幽默).
如果要显示单行,则不会显示默认的"无结果"标签UISearchDisplayController.这是许多应用程序的默认行为,例如Instagram(查看"浏览"选项卡),Kindle和默认的Notes.app,尽管它们可能没有使用UISearchDisplayController.
如果您发现此变通方法不适合您的应用,您还可以尝试将"缺少品牌"视图放入第一部分UISearchResultsTableView(而不是页脚视图)的标题视图中.这样,"无结果"标签将显示在其下方.将这个想法与单个空行结合起来甚至可以更好地工作.
第三种选择是将此视图插入到顶部UISearchResultsTableView.这可以在每次没有结果(在必要时正确删除它)或只是一次时使用其隐藏属性来显示或隐藏它.
隐藏此标签的任何其他方法可能都是hacky,如下所示:https://stackoverflow.com/a/11715841/382834.虽然你现在的逻辑更容易,但它可能会在以后产生负面影响,所以它可能是最糟糕的道路.
| 归档时间: |
|
| 查看次数: |
4644 次 |
| 最近记录: |