Ios 导航控制器的多视图控制器中的搜索栏覆盖不正确

Ios 导航控制器的多视图控制器中的搜索栏覆盖不正确,ios,swift,uisearchbar,uisearchcontroller,uisearchbardelegate,Ios,Swift,Uisearchbar,Uisearchcontroller,Uisearchbardelegate,我为我的UITableView类创建了一个搜索栏,如下所示 class customTableViewController: UITableViewController, UISearchResultsUpdating {.... override func viewDidLoad() { super.viewDidLoad() self.resultSearchController = ({ let controller = UISearc

我为我的UITableView类创建了一个搜索栏,如下所示

 class customTableViewController: UITableViewController,              UISearchResultsUpdating
{....
override func viewDidLoad() {
    super.viewDidLoad()

self.resultSearchController = ({
        let controller = UISearchController(searchResultsController: nil)
        controller.searchResultsUpdater = self
        controller.dimsBackgroundDuringPresentation = false
        controller.searchBar.sizeToFit()
        controller.hidesBottomBarWhenPushed = false
        controller.hidesNavigationBarDuringPresentation = false
        controller.searchBar.searchBarStyle = UISearchBarStyle(rawValue: 2)!

        self.tableView.tableHeaderView = controller.searchBar

        return controller
    })()
    self.tableView.reloadData()
    }
}
它工作得很好,只是当我切换到另一个视图控制器时,无论我在哪个视图控制器中,搜索栏的图像都会保持在屏幕上。 当我尝试“searchBar.active=false”时,得到的错误为零

我该怎么做才能使此搜索栏仅绘制在这一个tableViewController上,而不绘制在导航中的其他位置?


非常感谢。

我找到了一些工作, 在准备阶段,我说:

   self.resultSearchController.searchBar.hidden = true
   self.resultSearchController.view.endEditing(true)
就是这样,在destinationViewController中,我编写了下面的代码,以识别它返回到原始的alviewcontroller并重新绘制条

override func viewWillDisappear(animated: Bool) {
    ....
    resultSearchController.searchBar.hidden = false
}

请显示一个屏幕截图。尝试过,没有足够的声誉。当你切换到一个新的视图控制器时,在搜索栏上给resignFirstResponder打电话怎么样?