问题标签 [uisearchcontroller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
44468 浏览

ios - UISearchController 在表头视图中呈现的 UISearchBar 在活动时动画太远

我正在使用 UISearchController 在表格视图的标题视图中显示搜索栏:

(设置 tableHeaderView 属性两次是必要的,否则标题视图与第一行重叠,参见SO 上的几个答案

这是它的外观,在不活动时完美定位: 处于正确位置的非活动搜索栏

搜索栏在活动时应该保持原位 - 我不希望它向上移动以隐藏导航栏。但它意外地动画下来,在它和导航栏之间留下了一个空白区域:

显示搜索栏动画太低的屏幕截图

这是一段 奇怪的搜索栏动画视频

如果我只使用与 UISearchController 分开的搜索栏,它在变为活动状态时不会显示相同的行为。

在我的呈现视图控制器中,我有self.definesPresentationContext = YES;and self.navigationController.navigationBar.translucent = YES;,并且在 IB 中,没有一个“扩展边缘”框处于活动状态(所有这些似乎都是可能的事情,可能会导致搜索呈现关闭,从四处阅读)。

有谁知道我怎样才能阻止搜索栏向下动画?

0 投票
1 回答
2873 浏览

swift - Swift如何在触摸返回键时更新搜索结果

我 Swift,我使用UISearcheControllerUISearcheResultUpdating

我用func updateSearchResultsForSearchController

但这是结果总是在我逐个字符输入时更新,它使这个应用程序运行缓慢。我希望这个结果只在输入返回键时更新?

0 投票
0 回答
269 浏览

ios8 - 如何将 UISearchController 合并到新的 (iOS8) UISplitviewController

我尝试基于 Xcode 6 中的 UISplitViewController 模板为通用应用程序(使用 Storyboard 和 CoreData/NSFetchedResultsController)构建一个简单的应用程序。这个应用程序还应该为 MasterViewController 提供一个搜索栏。不幸的是,Xcode 6 没有为 UISearchBar/UISearchController 组合提供任何 InterfaceBuilder 元素(只有已弃用的 UISearchBar/UISearchDisplayController)。

在 iOS Developer 库中,Apple 提供了“使用 UISearchController 进行表格搜索”的示例,但这不是基于 UISplitViewController 并且仅支持 iPhone。

我的问题是,在任何情况下我都无法在正确的 ViewController 上显示详细视图。我试图将 Apple 示例项目中的方法转移到 UISplitViewController 模板。在此,我们鼓励将搜索结果显示在单独的 UITableViewController 子类(ResultsTableViewController)中,并将其用作 UISearchController 的 searchResultsController。我无法在 InterfaceBuilder 中为此设置创建场景,因此我不得不在代码中手动添加这些场景。

当我单击 ResultsTableViewController 的表格单元格时,问题就开始了。这个 vc 不是 InterfaceBuilde 场景的一部分,我不知道如何正确地将它添加到 SplitViewController 设置中。最大的问题是 iPhone 6 Plus 和 UISplitViewController 的怪异行为。在纵向模式下,它的行为类似于 iPhone,并且似乎没有 SplitViewController,只使用我将 DetailViewController 推送到的 NavigationController。在横向模式下,它的行为就像带有 SplitViewController 的 iPad,我必须获得 SplitViewController 的第二个 ViewControllerchildControllers并将 DetailViewController 推到这个上。

现在它发生了,当我以纵向模式开始并切换到 DetailViewController 全部消失的横向模式时,显示 DetailVC 应该在的灰色空间。看起来,当进入纵向模式时,DetailViewController 会从 SplitViewController 中踢出(或者 SplitViewController 会被踢出,有利于 iPhone 的 NavigationController 设置)。当切换回横向时,SplitViewController 会再次初始化,但没有正确初始化 DetailViewController。

是否有关于如何在通用 UISplitViewController 上正确实现搜索功能的模板或建议?

干杯比约恩

0 投票
1 回答
2648 浏览

ios - UITableViewController 中的 UISearchController — 行不可选择且表格视图显示为灰色

我试图让 UISearchController 在 UITableViewController 中工作。我正在以编程方式创建所有内容(即没有界面生成器)。大多数情况下,一切都在正常工作,除了在搜索时,我无法选择任何表格单元格(-tableView:didSelectRowAtIndexPath:从不调用)。

但是,我不认为这是与委托有关的问题,也不是导致该方法未被调用的另一个常见原因;搜索时,包含搜索结果的表格视图显示为灰色(即不活动),我相信这就是我无法选择任何单元格的原因。

我的想法是 UISearchBar 作为第一响应者被卡住了,但我尝试了各种方法来退出该状态和/或试图强制表格视图成为第一响应者,但所有这些都带来了灾难性的结果。

这是我的UITableViewController子类中的相关代码:

0 投票
6 回答
12506 浏览

ios - UISearchController 禁用取消 UIBarButtonItem

问题

我正在尝试使用 UISearchController 在地图视图上搜索目的地。我希望 UISearchBar 出现在导航栏中,但如果它不显示右侧的取消按钮,我似乎无法这样做:

在此处输入图像描述

这个取消按钮有时会消失,而我正在玩,但我不能让它不出现现在我有搜索表显示我想要它的方式:

在此处输入图像描述

我敢肯定我做错了什么小事,但我无法弄清楚它是什么......

我的代码

0 投票
0 回答
234 浏览

uitableview - 带有 UISearchController 错误的 UIStatusBar

当用户选择输入文本字段时,我正在使用 UISearchController UIStatusBar 不再透明,在后面我可以看到 UITableView 内容我正在尝试几种解决方案但没有任何效果

有任何想法吗?

0 投票
1 回答
387 浏览

ios - UILabel 在第二次设置属性文本时丢失文本属性

我正在使用 iOS 8 中引入的 UISearchController API 实现搜索。我有一个 UITableViewController 子类,它既可用作搜索结果控制器,也可用作搜索结果更新器。该控制器负责在表格视图中显示搜索结果。

每次 searchBar 中的文本发生变化时,搜索 API 都会调用-updateSearchResultsForSearchController:我的表视图控制器上的 UISearchControllerUpdating 方法。在这个方法中,我根据新的搜索字符串更新搜索结果,然后调用[self.tableview reloadData].

我还试图在结果列表中突出显示搜索字符串的出现。我通过将表格视图单元格上的属性文本设置为包含突出显示的属性字符串来实现此目的。

我看到以下行为:

  1. 第一次击键后,高亮显示正确
  2. 第二次击键后,所有高光都消失了,除了
  3. 如果一个单元格在字符串的开头有一个突出显示的区域,它将显示所有突出显示,即使在字符串的其余部分也是如此

经过反复试验,我发现这似乎与表格视图或单元格无关,而与 UILabel 完全有关。第二次设置属性文本属性时,标签似乎总是失去突出显示。我真的只能设置一次吗?

我的一些代码

表视图数据源:

生成文本突出显示的方法:

找到要突出显示的范围的方法:

有任何想法吗?谢谢!

0 投票
5 回答
33568 浏览

swift - 你如何解除 UISearchController ?(iOS 8 及以下)

这一定是微不足道的,但我找不到你应该如何以编程方式关闭 UISearchController?

请注意,它是新的 UISearchController(2014 年随 iOS 8 推出),而不是 UISearchDisplayController。

到目前为止,这就是我所拥有的

但我仍然有取消按钮,无法摆脱它。

0 投票
2 回答
669 浏览

uisearchbar - 带有 UISearchController 的透明 UIStatusBar

我正在使用以下代码来显示 UISearchBar

我的问题是当我进入搜索模式时,视图进入全屏状态,我可以看到 tableview 的内容与 UISearchBar 重叠这是一个错误任何解决此问题的方法吗?

看截图

在此处输入图像描述

我的解决方案

0 投票
1 回答
607 浏览

ios - UISearchController 不显示任何内容

我有一个问题UISearchController,它是在我的“ FindUsersTableViewController.h”文件中声明的,用于显示搜索到的用户。所以,一切都在标题中,我给你更多的细节与“ FindUsersTableViewController.m”文件的代码的重要部分:

UISearchController 不显示任何内容...有谁知道如何解决这个问题?