gpt4 book ai didi

ios - UISearchDisplayController 配置 "no results" View 不与 tableFooterView 重叠

转载 作者:可可西里 更新时间:2023-11-01 03:54:18 25 4
gpt4 key购买 nike

我有一个系统提供的列表(例如品牌),用户不可编辑但必须不时更改。

上下文

这些东西显示在表格 View 中,并且可以使用默认的 UISearchDisplayController 进行搜索。但是,由于事物列表肯定不完整,我想让用户能够请求将其他事物添加到列表中。为此,我向原始表格 View 和搜索结果表格 View 添加了一个表格页脚 View ,它提供了一个发送邮件的按钮。

问题

只要搜索结果 TableView 仍然包含条目,它就可以正常工作。我的表页脚 View 显示在搜索结果下方,一切正常。

但是,如果没有找到搜索词的结果,搜索显示 Controller 会在表格 View 的中央显示一个“无结果”标签。这通常看起来很棒,像这样:

default "no results" screen

但是由于我的 tableFooterView 仍然显示(我希望它是这样的!),“无结果”标签与我的页脚 View 重叠,看起来很糟糕:

enter image description here

我认为在我的例子中我不需要“无结果”标签,因为我的页脚 View 清楚地表明没有结果以及如何处理它。我也不介意,只要不重叠即可。

问题

我该怎么办

  • 使搜索 View 不显示“无结果”标签
  • 或配置它的显示方式(-> 不重叠)

如果这是不可能的,我也乐于接受其他显示页脚 View (而不是作为页脚)的方法的建议,这些方法不会有这个问题。但我喜欢这个解决方案,因为我可以在两种情况下(普通 TableView 和搜索结果 TableView )使用它而无需更改任何内容。

最佳答案

首先,请务必记住,使用 UISearchDisplayController 是可定制性和便利性之间的权衡。你可以免费获得很多自动的东西,但如果你需要大量的定制,它可能不适合你的需要。它最适合作为嵌入式解决方案,如果您真的想使用它,我建议您围绕它来处理您的应用程序,而不是试图破解它的行为。

话虽如此,当没有结果时,为什么不让 UITableView 返回一行?此行可以为空,显示一些样板文本或图像(悲伤的脸或与应用匹配的幽默内容)。

要显示单行,UISearchDisplayController 中的默认“No Results”标签将不会显示。这是许多应用程序的默认行为,例如 Instagram(查看“探索”选项卡)、Kindle 和默认的 Notes.app,尽管它们可能没有使用 UISearchDisplayController

如果您发现此解决方法不适合您的应用,您还可以尝试将“缺少品牌” View 制作成 UISearchResultsTableView 第一部分的标题 View (而不是页脚 View )。这样,“无结果”标签将显示在其下方。将这个想法与单个空行结合起来效果会更好。

第三种选择是将此 View 插入到 UISearchResultsTableView 之上。这可以在每次没有结果时完成(在必要时适本地删除它)或仅一次,使用它的隐藏属性来显示或隐藏它。

隐藏此标签的任何其他方法都可能是 hacky,例如:https://stackoverflow.com/a/11715841/382834 .虽然您当前的逻辑更容易,但它可能会在以后产生负面影响,因此它可能是最糟糕的路径。

关于ios - UISearchDisplayController 配置 "no results" View 不与 tableFooterView 重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22888016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com