大佬教程收集整理的这篇文章主要介绍了ios – 将UISearchController与UINavigationController一起使用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_8@
class ItemSearchViewController: UITableViewController,UISearchResultsUpdating { var searchController: UISearchController? let itemList = [ItemList(category:"Chocolate",name:"chocolate Bar",price: 1234),ItemList(category:"Chocolate",name:"chocolate Chip",name:"dark chocolate",ItemList(category:"Hard",name:"lollipop",name:"candy cane",name:"jaw breaker",ItemList(category:"Other",name:"caramel",name:"sour chew",name:"gummi bear",price: 1234)] var filteredList : [ItemList] = [] override func viewDidLoad() { super.viewDidLoad() self.title = "Item Search" self.tableView.delegate = self self.tableView.dataSource = self self.searchController = UISearchController(searchResultsController: nil) self.searchController!.searchResultsUpdater = self self.searchController!.hidesNavigationBarDuringPresentation = true self.searchController!.dimsBackgroundDuringPresentation = false self.searchController!.searchBar.searchBarStyle = .Minimal self.searchController!.searchBar.sizeToFit() self.tableView.tableHeaderView = self.searchController!.searchBar } override func prepareForSegue(segue: UIStoryboardSegue,sender: AnyObject?) { if (segue.identifier == "itemDetail") { let itemDetailViewController = segue.destinationViewController as UIViewController let selectedCell = sender as UITableViewCell itemDetailViewController.title = selectedCell.textLabel?.text } } override func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell") as UITableViewCell var item : ItemList if self.searchController!.active { item = self.filteredList[indexPath.row] } else { item = self.itemList[indexPath.row] } cell.textLabel!.text = item.name return cell } override func tableView(tableView: UITableView,numberOfRowsInSection section: Int) -> Int { if (self.searchController!.active) { return self.filteredList.count } else { return self.itemList.count } } } extension ItemSearchViewController: UISearchResultsUpdating { func updateSearchResultsForSearchController(searchController: UISearchController) { if (searchController.searchBar.text.isEmpty) { self.filteredList = self.itemList } else { let searchPredicate = { (item: ItemList) -> Bool in item.name.rangeOfString(searchController.searchBar.text,options: .CaseInsensitiveSearch) != nil } self.filteredList = self.itemList.filter(searchPredicate) } self.tableView.reloadData() } }
以上是大佬教程为你收集整理的ios – 将UISearchController与UINavigationController一起使用全部内容,希望文章能够帮你解决ios – 将UISearchController与UINavigationController一起使用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。