草庐IT

UIsearchController

全部标签

ios - 按下取消按钮时隐藏搜索栏,并调整导航栏的大小

我在导航栏中使用UISearchController实现了一个搜索栏。还有一个TableView,其顶部约束设置为导航栏的底部。期望的行为:按下取消按钮时,搜索栏被隐藏,表格View的顶部约束恢复到搜索栏被删除之前的状态(参见屏幕截图#1在这篇文章的末尾)当前行为:按下取消按钮时,搜索栏消失但tableView的顶部约束没有响应更改(参见屏幕截图#3)此问题的一个可能解决方案是在单击取消按钮时手动更新约束。但是,我找不到从UISearchBarDelegate方法searchBarCancelButtonClicked访问tableView约束的方法代码片段:classViewCont

ios - 按对象数组过滤 searchController

我已经创建了一个searchController,因此我试图让它根据UISearchController中的文本过滤内容。我创建了一个如下所示的自定义对象。我试过使用NSPredicate,但不断得到:无法将NSPredicate类型的值转换为预期类型@noescape(组织)抛出...classOrganization:Object{varid:Int=0varname:String=""varshortName:String=""varimage:NSData=NSData()varpinImage:NSData=NSData()letlocations=List()}然后我的Vi

ios - 如何使 UISearchController() 默认隐藏?

我将UISearchController()添加到我的UIViewController中,如下所示:classSearchViewController:UIViewController,UITableViewDataSource,UITableViewDelegate,UISearchResultsUpdating{lettableData=["Here's","to","the","crazy"]varfilteredTableData=[String]()varresultSearchController=UISearchController()@IBOutletvartableV

ios - UISearchController 没有响应

我在导航栏上有一个UISearchController,方法是:navigationItem.titleView=searchController.searchBar我有definesPresentationContext=true现在我的问题是,当我第一次进入具有UISearchController的事件时,一切正常。但是,在我的侧边菜单应用程序中,如果我转到某个事件,然后通过推送到导航堆栈再次转到包含UISearchController的事件,搜索Controller将不起作用。所以这就是我正在做的:让A表示包含UISearchController的事件转到A。一切正常。参加任何其

ios - 过滤器 UISearchController 之后的 didSelectRowAtIndexPath indexpath - Swift

我正在分区表中使用UISearchController实现搜索栏。到目前为止一切顺利。主要问题是,当过滤结果出现时,它是一个全新的表格,没有部分且行数较少。选择行时,我在数组中执行一个位置,但是详细的View期望从主数组中获得精确的行或索引,而我无法从过滤的对象数组中获得,这可能在300个元素中为[0][1][2]。我想我可以将所选对象与主数组进行比较,并假设没有重复项,从那里获取索引并将其传递过来……但这些对我来说似乎效率很低。Apple在联系人应用程序中过滤联系人时做了类似的事情(不幸的是我不知道怎么做)。他们如何传递接触对象?这几乎就是我的目标。在这里,我向您展示了我正在做的事情

ios - 呈现的 ViewController 中的 subview 在旋转后位置错误

我正在试验UISearchController,但我做不好。我从我自己的UIViewController中展示一个干净的UISearchController,它看起来很棒-但是一旦我旋转设备,它就会移动一些点向上或向下。要重新创建它,只需执行以下几个步骤:创建一个新的单一View项目从项目文件中删除Main.storyboard并从项目设置中删除其名称(项目->常规->目标->主界面)在AppDelegate.swift中:applicationdidFinishLaunchingWithOptions...{window=UIWindow(frame:UIScreen.main.bo

ios - 搜索栏在点击后消失

我正在尝试使用谷歌地图搜索附近的地方。下面是我到目前为止所做的代码overridefuncviewDidLoad(){super.viewDidLoad()//AddingMapviewmapView=GMSMapView(frame:CGRectMake(0,120,self.view.bounds.width,self.view.bounds.height-120))self.view.addSubview(mapView)mapView.mapType=kGMSTypeNormallocationManager.delegate=selflocationManager.reque

ios - UISearchController:昏暗的覆盖层覆盖了搜索栏本身

我在针对iOS10+的项目中使用UISearchController,对于iOS11,我可以将其设置为navigationItem.searchController,但对于iOS10,我必须手动添加搜索栏。在iOS10上存在一个问题,当obscuresBackgroundDuringPresentation设置为true时,当搜索栏成为第一响应者时会出现一个暗淡的叠加层,但它不仅覆盖搜索结果区域,还有搜索栏本身。在iOS11上完美运行。有什么我必须设置/更改的吗?谢谢! 最佳答案 将definesPresentationContex

ios - 加载 View 时从搜索 Controller 中移除焦点

我有一个添加了搜索栏的简单TableView。一切正常,除了当View出现时(它是应用程序中的第一个View),搜索栏被聚焦(或看起来如此),因此它显示“取消”按钮(见图)。我试过将tableview设置为第一响应者,在搜索Controller上调用resignFirstResponder等。如果您点击搜索栏然后点击取消,焦点将被移除并且一切正常-“取消”按钮消失。关于为什么会这样以及如何显示未聚焦的搜索栏的任何想法? 最佳答案 在viewDidLoad()方法中添加searchBar.resignFirstResponder()-

ios - 当 tableView 向下滑动时显示 UISearchController

我通过UISearchController在我的测试应用程序中实现了搜索栏。当我启动我的应用程序时,我会在导航Controller下方看到搜索栏。但是我如何在应用程序启动时隐藏它并仅在我拉下表格View时显示它?拉起表格View时再次隐藏?我在google或youtube中找不到任何解决方案,请帮忙。编辑:这就是我在viewDidLoad中实现UISearchController的方式//setthesearchControllersearchController=UISearchController(searchResultsController:nil)searchControll