【问题标题】:SearchController Hidden automaticallySearchController 自动隐藏
【发布时间】:2016-09-20 05:05:56
【问题描述】:

我尝试在 UIViewcontroller 中显示 searchController。 这很好用,但是当我尝试写东西时,搜索控制器不可见。

我的代码如下:

class tempVC: UIViewController,UISearchBarDelegate,UISearchResultsUpdating {

    let searchController = UISearchController(searchResultsController: nil)

    override func viewDidLoad() {
        super.viewDidLoad()

        searchController.searchResultsUpdater = self
        searchController.searchBar.delegate = self
        searchController.searchBar.placeholder = "Enter name here..."
        definesPresentationContext = true
        searchController.searchBar.sizeToFit()
        searchController.dimsBackgroundDuringPresentation = false
        searchController.hidesNavigationBarDuringPresentation=false
        //navigationItem.titleView = searchController.searchBar
        searchController.searchBar.frame=CGRectMake(0, 64, 320, 44)
        self.view.addSubview(searchController.searchBar)
    }


    // MARK: - UISearchResultsUpdating Delegate
    func updateSearchResultsForSearchController(searchController: UISearchController) {
        // let searchBar = searchController.searchBar
        //let scope = searchBar.scopeButtonTitles![searchBar.selectedScopeButtonIndex]
        //filterContentForSearchText(searchController.searchBar.text!, scope: scope)
        print("update")
    }

}

请帮我解决这个问题。

谢谢,

【问题讨论】:

    标签: ios iphone uinavigationcontroller uisearchbar uisearchcontroller


    【解决方案1】:

    类 tempVC: UIViewController,UISearchBarDelegate,UISearchResultsUpdating {

    let searchController = UISearchController(searchResultsController: nil)
    
    override func viewDidLoad() {
        super.viewDidLoad()
    
        searchController.searchResultsUpdater = self
        searchController.searchBar.delegate = self
        searchController.searchBar.placeholder = "Enter name here..."
        definesPresentationContext = true
        searchController.searchBar.sizeToFit()
        searchController.dimsBackgroundDuringPresentation = false
        searchController.hidesNavigationBarDuringPresentation=false
        //navigationItem.titleView = searchController.searchBar
        searchController.searchBar.frame=CGRectMake(0, 64, 320, 44)
        self.view.addSubview(searchController.searchBar)
    }
    
    
    // MARK: - UISearchResultsUpdating Delegate
    func updateSearchResultsForSearchController(searchController: UISearchController) {
        // let searchBar = searchController.searchBar
        //let scope = searchBar.scopeButtonTitles![searchBar.selectedScopeButtonIndex]
        //filterContentForSearchText(searchController.searchBar.text!, scope: scope)
        print("update")
    }
    

    }

    【讨论】:

    • 你的答案有什么变化?
    猜你喜欢
    • 2020-11-11
    • 2020-11-09
    • 2021-06-04
    • 2017-12-14
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多