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中不推荐使用。