在 Swift 中更改 UISearchController 的位置
Posted
技术标签:
【中文标题】在 Swift 中更改 UISearchController 的位置【英文标题】:Change position of UISearchController in Swift 【发布时间】:2017-08-18 17:56:27 【问题描述】:我有一个具有 UISearchController(以编程方式添加)的 UITableView。 SearchController 被添加到 TableView 的标题中。(屏幕截图 2)。但是,我想在应用打开时首先在屏幕中间有一个搜索视图,并且在用户开始搜索后,TableView 出现并开始显示数据。(截图 1)
我尝试在 Storyboard 中添加 UISearchBar 并将其连接到 UISearchController 但无法直接分配它。
let searchController = UISearchController(searchResultsController: nil)
override func viewDidLoad()
super.viewDidLoad()
// Setup the Search Controller
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
mTableView.tableHeaderView = searchController.searchBar
【问题讨论】:
【参考方案1】:1#你可以通过改变tableview的大小和位置来解决这个问题,从tableview开始到屏幕的中间,在用户开始搜索后你可以将frame更改为View Boundary
2# Better => 您可以使用 UItextField 创建自己的搜索控制器并根据需要进行自定义
【讨论】:
我尝试了第一个,但我希望 TableView 不显示,当我隐藏 TableView 时,搜索栏也隐藏了。【参考方案2】:我通过在 storyboard 中创建 UIView 并在视图中添加 searchcontroller 来解决它。
-
在 Storyboard 中创建 UIView
添加 IBOutlet
将 SearchController 添加为 UIView 的子视图。
【讨论】:
以上是关于在 Swift 中更改 UISearchController 的位置的主要内容,如果未能解决你的问题,请参考以下文章