swift- UISearchController的基本使用

閑的沒事寫了寫swift,記錄一下比較坑的控件??!
聲明

var jcSearchView =UISearchController()

添加 UISearchController

func jcAddSearchViewController() ->Void{
        let vc = JFSearchResultViewController()
        jcSearchView=UISearchController.init(searchResultsController: vc)
        jcSearchView.delegate = self
        jcSearchView.searchResultsUpdater = self
        jcSearchView.searchBar.delegate = self
        jcSearchView.searchBar.placeholder = "請(qǐng)輸入關(guān)鍵字"
        self.jcSearchView.dimsBackgroundDuringPresentation = true;
        self.jcSearchView.searchBar.sizeToFit()
        jcTableView.tableHeaderView = jcSearchView.searchBar
        //push到下一個(gè)view controller之后search bar不會(huì)仍留在界面上
        self.definesPresentationContext = true;
        jcSearchView.searchBar.tintColor = JF_MAIN_COLOR
        jcSearchView.searchBar.isTranslucent = false
        jcSearchView.searchBar.barTintColor = UIColor.white
// 修改 searchBar 文本輸入背景
       let textField:UITextField=jcSearchView.searchBar.value(forKey:"_searchField")as!UITextField
       textField.backgroundColor=UIColor.init(red:235/255, green:235/255, blue:235/255, alpha:1)
    }

UISearchController 代理方法,通過代理方法進(jìn)行修改一些自定義樣式等

earchController.searchBar.showsCancelButton=true
letbtn:UIButton? = searchController.searchBar.value(forKey:"_cancelButton")as?UIButton
通過以上代碼在代理方法中獲取到searchBar中的取消按鈕修改成中文顯示

extension JFHanleProViewController:UISearchControllerDelegate,UISearchResultsUpdating,UISearchBarDelegate{

    public funcwillDismissSearchController(_searchController:UISearchController){

    }
    func updateSearchResults(for searchController:UISearchController) {
        searchController.searchBar.showsCancelButton=true
        letbtn:UIButton? = searchController.searchBar.value(forKey:"_cancelButton")as?UIButton
        ifbtn !=nil{
            btn!.setTitle("取消", for: UIControlState.normal)
        }
    }

    public fun csearchBarSearchButtonClicked(_searchBar:UISearchBar){
        if searchBar.text == nil{
            HUD.flash(.label("請(qǐng)輸入搜搜內(nèi)容!"), delay:2)
            return;
        }

// 調(diào)用搜索方法

        JFAPI.jcGetFlowPro(jcHandelModel.FlowType, jcCompleted, searchBar.text!, 0, { (jsonData) in
            let jcCont = self.jcSearchView.searchResultsController as! JFSearchResultViewController
            var searchArray =Array()
            for obj in self.jcArray{
                searchArray.append(obj)
            }
            jcCont.jcSearchArray= searchArrayasNSArray
            jcCont.jcSearchType = JFSearchType.hanle
            jcCont.tableView.reloadData()
        }) { (errString, errCode) in
        }
    }

}
``
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 怎樣的人才是健康的?這是心理學(xué),特別是心理咨詢與治療必然要涉及到一個(gè)基本問題。 如果你去找一位資深的精神分析師去做...
    宇宙的恬緣閱讀 1,093評(píng)論 0 0
  • 過年的春節(jié),外來工人們紛紛提著自己的行李箱,大包小包,穿著新感時(shí)尚潮流的衣服回家和家中的父母團(tuán)圓。 我也不曾例外,...
    驟雨落舍閱讀 348評(píng)論 0 2
  • 【幼兒說】原創(chuàng),轉(zhuǎn)載請(qǐng)標(biāo)出處 周末,孩子們的爸爸帶回了一個(gè)保溫杯,這個(gè)保溫杯的安全防護(hù)設(shè)計(jì)得很好,需要操作三個(gè)步驟...
    幼兒說閱讀 444評(píng)論 0 1
  • 在開始解剖ES6之前,我們首先需要知道: 任何一次版本的迭代,必然是彌補(bǔ)以前的不足,或者為了更好發(fā)展的鋪墊。而對(duì)于...
    PaytonWang閱讀 325評(píng)論 0 3
  • 最近有一個(gè)新問題小小地困擾著我。一個(gè)男的要和我復(fù)合,但是不想繼續(xù)包容我,經(jīng)人提醒,他沒有安全感,他是5號(hào)自保,一個(gè)...
    明慧蔡潔閱讀 347評(píng)論 0 0

友情鏈接更多精彩內(nèi)容