Tag: uisearchdisplaycontroller

在UISearchDisplayController后面重新加载UITableView

我遇到了这个奇怪的现象,我不太明白。 我有一个UITableViewControllerpipe理一个UITableView。 很简单。 我也有一个UISearchDisplayController用于search表视图的内容。 searchfunction将能够删除表格视图显示的内容的项目。 因此,如果用户select删除search时find的项目之一,我不仅要重新加载UISearchDisplayController的表视图,而且还要UITableViewController的表视图。 当我这样做时,常规表视图的部分popup并显示在UISearchDisplayController上方。 真的很奇怪 我认为解释这个问题的最好方法是用一个图像: 如果你们中的任何一个知道什么可能导致这个问题或知道一个解决方法,这将是太棒了。

当UISearchBar处于活动状态时,UITableView内容与状态栏重叠

我有一个UITearchBar和UISearchDisplayController的UITableViewController。 它存在于UINavigationController中的UIViewController的Container View中。 我做了这个图像来帮助描述结构: 这实际上是这样的: 当我点击search栏时,我必须隐藏导航栏。 通常,这将发生在自己的,但由于我的UITableViewController是在一个容器视图内,我必须自己处理这个变化。 这是它看起来像然后,请注意状态栏是白色的,因为导航栏是白色,即使它是隐藏的时刻。 一旦我开始input一些search文本,结果就会显示出来。 如果我向上滚动这些结果,它们将通过search栏下方,但是它们重叠的状态栏非常没有吸引力。 如果没有涉及容器视图,那么这一切都按预期工作,并且表格内容通过状态栏下方,但是涉及到容器视图时,表格文本和状态栏发生冲突。 如何让文本像正常一样在状态栏下传输?

调整UISearchDisplayController灰色黑色覆盖

任何人都知道如何调整调暗的黑色过度,一旦你点击search栏? 我有问题,当我点击取消桌面将花费然后animation消失。 我用这个调整我的结果tableview。 -(void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView { tableView.frame =fTableView.frame;//CGRectMake(26, 100, 280, 310); //fTableView.frame; tableView.backgroundColor = [UIColor colorWithRed:243.0/255.0 green:236.0/255.0 blue:212.0/255.0 alpha:1]; } 当点击search栏时,灰色覆盖层已满,而不是我定义的大小。 当点击取消button时,视图将消耗。

UISearchDisplayController“没有结果”文本

可能重复: 如何更改UISearchDisplayController的UISearchBar中“Cancel”button,“No Results”标签的string? 在我的UISearchDisplayController中,我想在没有结果可用时更改searchResultsTableView中显示的“No Results”文本的字体。 我怎样才能做到这一点?

带有displaysSearchBarInNavigationBar的UISearchDisplayController将结果视图向下推导navigationBar.translucent = false

我正在使用UISearchDisplayController与新的ios 7functiondisplaysSearchBarInNavigationBar和不透明的导航栏。 search显示控制器似乎不正确地定位它的视图。 我试图插入委托方法和重新定位,但我不能得到正确的初始位置,也不能旋转。 另外,这似乎是一个马虎的解决scheme。

如何在xib的tableview中实现SearchBar和search显示控制器

我有字典的可变数组。我在表视图中显示该数组。 现在我想实现search和显示控制器到表视图。 怎么样? 任何build议或代码.. 这里我的数组我按照字母顺序在uitableview中显示“name”键。 [ { "name": "Fish", "description": "sdhshs", "colorCode": null, }, { "name": "fry", "description": "sdhshs", "colorCode": null, }, { "name": "curry", "description": "sdhshs", "colorCode": null, } ],

当用户点击search栏时,如何显示tableview

我需要在用户点击search栏后以模态forms呈现tableview,然后才能让tableview呈现用户search的内容,如Instagram的searchfunction。 有很多关于如何做searchfunction的谷歌教程,但没有关于如何在用户点击search栏后呈现tableview的教程。 我该怎么做?

从UISearchController的已过滤search结果中删除

我有一个tableView来源于CoreData单元格内容,并用新的SearchControllerreplace了SearchDisplayController (已弃用)。 我使用相同的tableView控制器来呈现对象的完整列表以及过滤/search的对象。 我设法使search/过滤工作正常,并可以从过滤列表移动到这些项目的详细视图,然后编辑并保存更改成功回到过滤的tableView。 我的问题是滑动删除过滤列表中的单元格导致运行时错误。 以前与SearchDisplayController我可以做到这一点,因为我有权访问SearchDisplayController's结果tableView,所以下面的(伪)代码将正常工作: func controllerDidChangeContent(controller: NSFetchedResultsController) { // If the search is active do this searchDisplayController!.searchResultsTableView.endUpdates() // else it isn't active so do this tableView.endUpdates() } } 不幸的是,没有这样的tableView是暴露的UISearchController和Im在一个损失。 我已经尝试使tableView.beginUpdates()和tableView.endUpdates()条件不是searchtableView,但没有成功。 logging这是我的错误消息: Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-3318.65/UITableView.m:1582 *编辑* 我的tableView使用FetchedResultsController从CoreData自己填充。 这个tableViewController也是SearchController用来显示过滤结果的一个。 var searchController: UISearchController! 然后在ViewDidLoad中 searchController = UISearchController(searchResultsController: nil) searchController.dimsBackgroundDuringPresentation = false searchController.searchResultsUpdater = […]

UISearchDisplayController隐藏导航栏

我看到一个奇怪的情况。 我已经在导航栏中放置了一个search栏,并将UISearchDisplayController与search栏相链接。 现在,当用户点击search栏时,search显示控制器倾向于隐藏导航栏(因此隐藏search栏)。 为了反击,我分类了UISearchDisplayController并实现了以下代码: – (void)setActive:(BOOL)visible animated:(BOOL)animated { [super setActive: visible animated: animated]; [self.searchContentsController.navigationController setNavigationBarHidden: NO animated: NO]; } 现在,这固定了原来的问题。 我能够search并导航到其他控制器。 但是,可以说我在视图控制器A上search,然后单击一个search结果,然后将视图控制器B推到导航堆栈上。 现在,如果我popup视图控制器B并返回到A,那么我的导航栏消失。 它看起来像search显示控制器是活动的,所以它隐藏了导航栏。 如果我使search显示控制器处于非活动状态,然后按下视图控制器B然后popup,则会出现导航栏。 那么,有什么办法,我的search显示控制器可以保持活动,导航栏不会消失,当我从导航堆栈popup视图控制器B? 而我的目标是iOS6 (这是一个很长的代码,所以不知道我应该在这里发布)。

如何在表格视图中实现search(使用FRC)

基础很简单:只需在你的表视图控制器中实现<UISearchBarDelegate,UISearchDisplayDelegate> 。 这里是一个足够的教程 。 诀窍是认识到有两个控制器:一个表视图控制器和一个search显示控制器。 每个控制器都有自己的表格视图。 因此两个表格视图正在播放:普通表格视图和search显示表格视图。 当委托方法有一个UITableView参数,比较哪个表视图被传入,并做相应的不同的事情。 除了基础之外,数据结构成为我面临的主要挑战。 更具体地说,如何筛选和存储search结果? 我们有三个select: 一个。 一个正常的表格视图FRC 创build一个数组属性来存储结果 使用filteredArrayWithPredicate过滤获取的对象(数组) 为FRC指定一个caching,以将获取的对象存储在内存中以提高性能 B. 一个正常的表格视图FRC 修改FRC的谓词来做filter。 苹果公司指示3个步骤来做到这一点: 删除FRCcaching(最好不要使用一个) 改变谓词 调用performFetch C。 两个FRC,每个表视图一个。 这个热门文章的接受答案提供了详细的实现 我认为A是正确的路要走。 我的理由包括: A做得很好。 而且它只需要对具有FRC属性的表格视图控制器进行无意义的更改。 更具体地说,只是在每个委托方法的两个表视图之间进行比较,并添加一个NSArray属性来存储提取结果。 当然,添加过滤代码。 B有一个潜在的缺点:FRC委托方法会被弄糊涂在哪个提取请求被使用? 是search之前,search期间还是search之后? 虽然在那里可能有解决scheme,但是我认为只要解决schemeA工作的时间不值得。 第二个缺点是,如果我们希望search结果在飞行中改变。 search栏中的每个单字母用户都会导致FRC执行提取,这相当昂贵。 C通过使用两个FRC来避免B的第一个缺点,但是由于完全相同的原因而遭受第二个缺点。 其他要考虑的事情: 在后台队列中过滤。 所以当用户inputsearch栏时,不pipe你的filter花费多less,屏幕都不会被阻塞。 创build一个辅助方法来区分两个表视图。 在相关的委托方法中调用helper方法,这会使代码更清晰。 以上是我对表格视图中工具search的理解。 如果有任何错误,请帮忙指出。 非常感谢。