Ios 如何将UISearchBar移动到其他视图?

Ios 如何将UISearchBar移动到其他视图?,ios,swift,Ios,Swift,我想做以下工作: 我在UIView(屏幕a)中显示一个包含标题、副标题和搜索栏的屏幕。当人们开始搜索时,我想将搜索栏移动到用于显示搜索结果的tableview的标题处。当人们停止搜索并单击“取消”时,我想删除该tableview并显示原始屏幕A 以下是我正在做的: 我在viewDidLoad中调用了以下代码: searchBarView = UIView(frame: CGRect(x: CGFloat(0), y: line.frame.origin.y + line.frame.he

我想做以下工作:

我在UIView(屏幕a)中显示一个包含标题、副标题和搜索栏的屏幕。当人们开始搜索时,我想将搜索栏移动到用于显示搜索结果的tableview的标题处。当人们停止搜索并单击“取消”时,我想删除该tableview并显示原始屏幕A

以下是我正在做的:

我在viewDidLoad中调用了以下代码:

    searchBarView = UIView(frame: CGRect(x: CGFloat(0), y: line.frame.origin.y + line.frame.height + 30, width: self.view.bounds.size.width, height: CGFloat(44)))
    
    let searchBar = searchController.searchBar
    searchBar.backgroundColor = UIColor.white
    searchBar.frame = CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: 44)
    searchBar.placeholder = " Search book title, author..."
    searchBar.sizeToFit()
    searchBarView.addSubview(searchBar)
    innerView.addSubview(searchBarView)
    
    tableViewBooks.frame = CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: self.innerView.frame.height);
当人们开始搜索时,我将搜索栏移动到表视图的头部:

func filterContentForSearchText(_ searchText: String, scope: String = "All") {
    if (!searchBarIsEmpty()) {
        if !inSearchMode {
            self.tableViewBooks.tableHeaderView = searchController.searchBar
            innerView.addSubview(tableViewBooks)
            inSearchMode = true
        }
当人们停止搜索时,我会将搜索栏移回屏幕A中的原始视图

func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
    if (inSearchMode) {
        tableViewBooks.removeFromSuperview()
        searchController.searchBar.removeFromSuperview()
        searchBarView.addSubview(searchController.searchBar)
        inSearchMode = false
    }
}
不幸的是,这是行不通的。当人们开始搜索时,搜索栏会移动到表视图的顶部。但当人们停止搜索时,搜索栏就会从屏幕A中消失

总结如下:

  • 视图将加载一个屏幕,其中有一个标题、副标题和位于searchBarView中的搜索栏
  • 当人们开始搜索时,tableViewBooks将显示搜索结果,搜索栏将移动到表视图的标题处
  • 当人们单击“取消”时,屏幕A应再次显示,搜索栏应作为子视图返回searchBarView,并且tableViewBooks应消失
  • 我该怎么做

    这是一个带有搜索栏的屏幕

    这是带有tableViewBooks中搜索结果的搜索栏