Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS-如何将UISearchController.searchBar添加到没有UITableView的控制器?_Ios_Objective C_Uitableview_Uisearchcontroller - Fatal编程技术网

iOS-如何将UISearchController.searchBar添加到没有UITableView的控制器?

iOS-如何将UISearchController.searchBar添加到没有UITableView的控制器?,ios,objective-c,uitableview,uisearchcontroller,Ios,Objective C,Uitableview,Uisearchcontroller,我已经查找了UISearchController的教程,它们都是通过以下方式实现的: ├── MainTableViewController(UITableViewController*)    ├── SearchController(UISearchController*)    └── ResultTableViewController(UITableViewController*) 通过这种方式,SearchController.searchBar可以通过 MainTableViewC

我已经查找了
UISearchController
的教程,它们都是通过以下方式实现的:

├── MainTableViewController(UITableViewController*)
   ├── SearchController(UISearchController*)
   └── ResultTableViewController(UITableViewController*)
通过这种方式,
SearchController.searchBar
可以通过

MainTableViewController.tableView.tableHeaderView=SearchController.searchBar


如何将
搜索栏添加到不是
UITableViewController
的控制器顶部?

在故事板中选择您的viewController并打开实用程序(右上角图标),然后搜索
UISearchBar
。现在将
UISearchBar
拖动到viewController中并设置帧/约束。并为添加到viewController类的搜索栏建立一个连接

在您的viewController类中,为搜索栏设置委托

override func viewDidLoad()
{
  super.viewDidLoad()
  searchBar.delegate = self          
}
现在实现
searchBar:textDidChange
方法

func searchBar(searchBar: UISearchBar, textDidChange searchText: String)
{

}

在情节提要中,选择viewController并打开实用程序(右上角图标),然后搜索
UISearchBar
。现在将
UISearchBar
拖动到viewController中并设置帧/约束。并为添加到viewController类的搜索栏建立一个连接

在您的viewController类中,为搜索栏设置委托

override func viewDidLoad()
{
  super.viewDidLoad()
  searchBar.delegate = self          
}
现在实现
searchBar:textDidChange
方法

func searchBar(searchBar: UISearchBar, textDidChange searchText: String)
{

}

如果没有表视图,它可以正常工作。UISearchDisplayController实例需要一个searchResultsDatasource和委托,它们实际上是UITableView数据源和委托


由于这些实现存在于UITableView中,因此它们通常被重用为搜索控制器的实现,但情况并非如此。

如果没有表视图,它就可以正常工作。UISearchDisplayController实例需要一个searchResultsDatasource和委托,它们实际上是UITableView数据源和委托


由于这些实现存在于UITableView中,因此它们通常被重用为搜索控制器的实现,但事实并非如此。

将UISearchbar添加为tableview标头。不要将UISearchbar与UISearchController混合使用。您可以在UIViewController中添加UISearchbar和uitableview。您是否找到了在没有表视图的情况下实现
UISearchController
的方法?将UISearchbar添加为tableview标头。不要将UISearchbar与UISearchController混合使用。您可以可以在UIViewController中添加UISearchbar和uitableview。是否找到在没有表视图的情况下实现
UISearchController
的方法?是的,我知道我可以使用
UISearchbar
。但让我困惑的是,
UISearchController
已经有了一个属性
searchBar
。如果我创建一个
UISearchBar
,那么将有两个
UISearchBar
。我想要的是在用户键入时弹出结果表视图。如何做到这一点?此处无需使用UISearchController,只需使用UISearchBar并使用委托方法过滤结果,并通过传递这些过滤结果显示tableViewController是的,我知道我可以使用
UISearchBar
。但让我困惑的是,
UISearchController
已经有了一个属性
searchBar
。如果我创建一个
UISearchBar
,那么将有两个
UISearchBar
。我想要的是在用户键入时弹出结果表视图。怎么做?这里不需要使用UISearchController,只需使用UISearchBar并使用委托方法过滤结果,并通过传递这些过滤结果来显示tableViewController,但苹果公司建议使用
UISearchController
UISearchDisplayController
在iOS8中被弃用。但苹果公司建议使用
UISearchController
UISearchDisplayController
在iOS8中不推荐使用。