问题标签 [uisearchdisplaycontroller]

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 投票
2 回答
4360 浏览

iphone-sdk-3.0 - UISearchBar in a UITableView

I'm trying to mimic the behaviour of a table view similar to the iPod app for Artists - it's a sectioned table view with a section index on the right, with a search bar at the top, but initially hidden when view shown.

I am using sdk 3.1.2 and IB, so simply dragged a UISearchDisplayController into my NIB - it wires everything up for searching. The problem starts because I'm adding the UISearchBar to the first section of the UITableView, because if I understand correctly I must do this so I can jump to the search bar by touching the search icon in the section index directly? When the table view appears I see the search bar but it has resized and I now have a white block behind the section index at the top. It doesn't take the color of the UISearchBar's surround which interestingly is different to that shown in Interface Builder.

I found a tip to add a small navigation bar and a UISearchBar in a UIView, then add this to the table view cell. This works, but the color of the navigation bar's background is what you'd expect normally (gray), not the different color as noted above. More interesting, if I tap the search bar to start a search, then tap Cancel, all is fixed. The background along the whole tableview cell when the search bar is, is the same?

0 投票
2 回答
5648 浏览

iphone - UISearchBar 与普通 UIView 中的控制器?

我想要的是:

顶部带有 UISearchBar 的 UIView。开始编辑 searchBar 会使当前视图变暗并显示来自另一个 [UITableView]Controller 的搜索结果。

我试过的:

在界面生成器中:

  • 向 UIView 添加“搜索栏和搜索显示控制器”。
  • 为我的 UITableViewController 添加一个占位符对象
  • 添加一个 UITableView 对象并将其设置为 UITableViewController 的视图
  • 将 UISearchBar 的委托设置为 UITableViewController
  • 将 UISearchDisplayController 上的所有网点设置为 UITableViewController

在代码中:

  • 将 UISearchBarDelegate、UISearchDisplayDelegate 协议添加到 UITableViewController

我得到了什么:

点击以编辑搜索字段会使应用程序崩溃。没有错误消息,只有 UITableViewController 中的“viewDidLoad”方法被调用。

综上所述:

如何为 UIView 中的 UISearchBar 使用外部控制器?

0 投票
2 回答
2885 浏览

iphone - 如何隐藏 UISearchBar 创建的 UITableView?

在我的 iPhone 应用程序中,我有一个搜索栏和搜索显示控制器。当用户在搜索框中输入内容时,表格视图会加载并且现在可见。当用户单击一行时,我想摆脱 tableView 并返回用户最初单击搜索栏的视图。我已经搜索了所有文档,我无法在任何地方找到如何执行此操作。我已经尝试过[tableView setHidden:YES];,但是当用户再次单击搜索栏时,tableView 永远不会返回。

请有人指出我正确的方向。

0 投票
2 回答
6436 浏览

iphone - 如何控制 UISearchDisplayController 自己的表格视图?

在我的应用程序中,当我没有过滤我的表格时,当我点击一个单元格时,它的框架高度会增加以显示一个UIProgressView显示下载进度的。

但是,当我使用 a 过滤获取的结果控制器数据时UISearchDisplayController,此过滤后的表格视图中的单元格的行为方式不同。

相反,单元格不会调整大小,不会显示进度视图,不会触发下载,并且应用程序随后会崩溃。

如何控制使用过滤结果时显示的表格视图UISearchDisplayController

编辑

这是我的-tableView:didSelectRowAtIndexPath:方法。它有点长,但要点是当我不搜索时它可以正常工作。

我认为我需要以某种方式对此进行调整,以便它可以与搜索结果控制器抛出的任何表视图/获取的结果控制器一起使用。

0 投票
1 回答
1852 浏览

iphone - 使用 UISearchDisplayController 时平滑过渡到“全屏”

为了解释我在寻找什么,我举个例子:在联系人应用程序中,当您单击表格视图第一行中的搜索字段时,它将顺利占据整个屏幕(减去状态栏),包括导航控制器的标题栏。

编辑:我也意识到我很确定这与 UITableView 中的 UISearchDisplayController 有关,UITableView 位于 TabBarController 中的 NavigationController 中。问题是搜索显示只会占用 tableviews 的大小而不是导航控制器。

我在我的程序中通过使用 UIView 动画和调整整个导航控制器框架的大小来在可见屏幕的视图上方开始模仿这一点。见下文:

这工作正常并完成了工作,但感觉就像一个黑客。有没有更简单的方法可以用搜索显示控制器来做到这一点?我觉得这是一个hack,如果显示尺寸发生变化或Apple平板电脑出现等,将来会给我带来麻烦。我已经环顾了一段时间,但没有找到任何简单的设置会迫使 UISearchDisplayController顺利占据导航控制器的标题栏。

0 投票
2 回答
4473 浏览

iphone - 带有隐藏 UINavigationBar 的 UISearchBar

我在表格顶部有搜索栏和隐藏的导航栏。连同UISearchBar我使用UISearchDisplayControllerUISearchDisplayController有可能带来导航栏。所以,当我点击搜索栏中的取消按钮时,导航栏会飞下来。我怎样才能消除这种可能性,所以导航栏将始终隐藏?

谢谢

0 投票
2 回答
6964 浏览

iphone - 如何控制 UISearchDisplayController 的 searchResultsTableView?

我想知道如何控制UISearchDisplayController. 您不能覆盖 的searchResultsTableView属性UISearchDisplayController,因为它是只读属性。

我试图searchResultsTableView通过自定义覆盖UITableView. 这只有效一次,但一旦你尝试第二次搜索,真实searchResultsTableView的就会再次出现。(我的意思是,您在 中输入一些文本searchBar,您的自定义表格视图位于顶部并显示搜索结果,然后按取消按钮。现在,如果您重复此操作,您的自定义表格将不会显示,searchResultTableView并且UISearchDisplayController 将在顶部)。

当然,不带也可以试试UISearchDisplayController,不过我指望这个类的优势,我只是想自定义tableView.

0 投票
3 回答
18393 浏览

iphone - 如何使用 NSFetchedResultsController 和 UISearchDisplayController

我一直在使用 Core Data 创建一个 iPhone 应用程序。

首先,同时使用 NSFetchedResultsController 和 UISearchDisplayController 来获取结果有意义吗?你会推荐别的东西吗?

我一直在尝试将 NSFetchedResultController 和 UISearchDisplayController 结合起来。我一直在考虑(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption在 UIViewController 的 NSFetchedResultController 的方法中设置一个 NSPredicate。但这不是很好。

那么,您知道如何为我的问题实施解决方案吗?感谢您发布优秀教程的答案或链接。

编辑

这是我的代码。UISearchDisplayDelegate 方法调用(void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope应该在 NSFetchedResultController 中设置谓词的方法。我还添加了 NSFetchedResultController 的代码。

0 投票
3 回答
649 浏览

iphone - 为什么设置表格视图背景图像时表格视图单元格几乎不可见?

加载背景图像时,我无法让 searchResultsTableView 单元格完全可见。单元格看起来很弱,即使被选中,也不会从背景图像视图中脱颖而出。有什么建议么?

除了在这个委托方法中分配一个新的 UITableViewCell 以供使用(在 searchResultsTableView 中)之外,我没有做任何其他事情:

感谢您的任何更正!

(我在 iPhone 模拟器 3.1.2 上)

0 投票
5 回答
8019 浏览

iphone - 在 UISearchDisplayController 选择后保持 UINavigationController 的导航栏隐藏

我有一个嵌套在 a 中的UISearchDisplayController设置。选择单元格后,触发方法,将新视图推向父导航控制器。这个新视图应该在入口处隐藏导航栏。UITableViewControllerUINavigationControllerUITableView's didSelectRowAtIndexPath

我在方法中使用这一行didSelectRowAtIndexPath来隐藏导航栏。当不使用搜索控制器选择行时,这可以正常工作,但在选择搜索结果时会被覆盖。似乎在UISearchDisplayController选择行后的某个时间取消隐藏导航栏是正确的。

如果我将setNavigationBarHidden调用移动到目标视图的viewWillAppear方法中,结果是相似的。我可以通过将 hide 调用放入 来使其工作viewDidAppear,但这会产生非常尴尬的过渡效果,让人感觉跳跃和不合适。我想让导航栏在新视图滑到屏幕上之前已经隐藏。

有谁知道navigationBar 的隐藏发生在哪里,和/或我可以以任何方式覆盖此行为?