首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SearchBar in TableViewController

SearchBar in TableViewController
EN

Stack Overflow用户
提问于 2015-11-10 11:25:11
回答 2查看 134关注 0票数 0

在我的应用程序中,我有一个UITableViewController,我想给它添加一个搜索栏。该表视图有3个部分,当单击其中一个部分时展开。我将此代码添加到viewDidLoad中:

代码语言:javascript
复制
searchBar.showsScopeBar = true
searchBar.delegate = self
searchBar.frame = CGRectMake(0, 0, tableView.frame.size.width, 100)

self.view.addSubview(searchBar)

问题是:当您打开搜索栏时,它会出现在第一节中,并且应该出现在整个表视图之上,有什么建议吗?任何帮助都是非常感谢的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-10 12:00:55

您可以将searchBar添加为TableView of TableViewtableHeaderView

票数 1
EN

Stack Overflow用户

发布于 2015-11-10 14:15:59

在Matt编写的iOS 9编程中,您可以在第二章:表视图和控制器视图中找到非常有用的示例。

代码语言:javascript
复制
let src = SearchResultsController(data: self.sectionData)
let searcher = UISearchController(searchResultsController: src)
self.searcher = searcher
searcher.searchResultsUpdater = src
let b = searcher.searchBar
b.sizeToFit() // crucial, trust me on this one
b.autocapitalizationType = .None
self.tableView.tableHeaderView = b
self.tableView.reloadData()
self.tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: 0, inSection: 0), atScrollPosition:.Top, animated:false)

他还警告说,添加搜索栏作为表视图的标题视图可能会产生奇怪的效果:它会导致表视图的背景色被灰色覆盖,当用户向下滚动时,在搜索栏上方可见。正式的解决方法是为表视图分配一个具有所需颜色的backgroundView。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33628885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档