如何隐藏转换搜索栏下一个屏幕

时间:2016-02-01 10:00:20

标签: ios swift

添加了搜索栏TableView,但是当其中一个要查找的项目以及到其页面SearchBar和模块类型的转换未被删除并保留在屏幕上时。我们如何才能将搜索栏模块类型的转换清理干净?

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您使用过UISearchController,请将viewWillDisappear:放在viewController中。

//this is my searchController, created programatically
var searchController : UISearchController?;

override func viewWillDisappear(animated: Bool) {
        super.viewWillDisappear(animated);

        if let sc = self.searchController where sc.active {
            self.searchController?.dismissViewControllerAnimated(false, completion: nil);
        }
    }

原因: UISearchControllerUIViewController的子类。 如果您的搜索栏为active,则表示它位于您当前的viewController上。因此,在从viewController出来之前,您需要使用其属性active来检查它是否为.active