下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第iOS使用UITextField自定義搜索框?qū)崿F(xiàn)用戶輸入完之后“實(shí)時(shí)搜索”功能
注:CSDN的代碼塊有點(diǎn)撈,如果瀏覽器窗口較窄,一行代碼占了兩行的位置,后面的代碼就看不到了,大家可以把瀏覽器窗口拉大一點(diǎn)
UI小姐姐設(shè)計(jì)的搜索框經(jīng)常是五花八門,系統(tǒng)的搜索框經(jīng)常不能滿足我們的需求,需要我們特別定制一個(gè)。但是UITextField的諸多回調(diào)里面,沒(méi)有一個(gè)是適合觸發(fā)搜索時(shí)間的。
UITextFieldTextDidChangeNotification調(diào)用過(guò)于頻繁,每輸入一個(gè)字符就調(diào)一次接口怕是不太合適。
UITextFieldTextDidEndEditingNotification只有在結(jié)束編輯的時(shí)候才會(huì)調(diào)一次,結(jié)束編輯就意味著鍵盤消失了,也不太合適。
這樣就難倒我們了嗎,當(dāng)然不是,辦法還是有滴。
解決方案
先自定義一個(gè)搜索框改好樣式,然后監(jiān)聽(tīng)UITextFieldTextDidChangeNotification
-(void)textFieldDidChange{
if(self.searchDelegate[self.searchDelegaterespondsToSelector:@selector(customSearchBar:textDidChange:)]){
[self.searchDelegatecustomSearchBar:selftextDidChange:self.text];
}
使用
@property(nonatomic,strong)LGCustomSearchBar*searchBar;
@property(nonatomic,assign)NSIntegerinputCount;記錄輸入次數(shù)
-(void)viewDidLoad{
[superviewDidLoad];
self.searchBar=[[LGCustomSearchBaralloc]initWithFrame:CGRectMake(20,10,kScreenWidth-40,36)];
self.searchBar.searchDelegate=self;
[self.viewaddSubview:self.searchBar];
-(void)customSearchBar:(LGCustomSearchBar*)searchBartextDidChange:(NSString*)searchText{
if(searchText.length==0){
[selfsearchKeyword:@(self.inputCount)];
else{
self.inputCount++;
[selfperformSelector:@selector(searchKeyword:)withObject:@(self.inputCount)afterDelay:1.5f];
-(void)searchKeyword:(NSNumber*)inputCount{
//判斷不等于0是為了防止用戶輸入完直接點(diǎn)擊搜索,延時(shí)結(jié)束之后又搜索一次
if(inputCegerValue==self.inputCountself.inputCount!=0){
[selfloadData];
-(BOOL)textFieldShouldReturn:(UITextField*)textField{
[selfloadData];
returnNO;
-(void)loadData{
self.inputCount=0;
//本地查詢或者請(qǐng)求數(shù)據(jù)
[self.tableViewreloadData];
}
核心代碼
延遲1.5秒以后執(zhí)行搜索,判讀如果1.5秒之后傳入的輸入次數(shù)和現(xiàn)在的輸入次數(shù)一致,說(shuō)明用戶1.5秒已經(jīng)沒(méi)有輸入新內(nèi)容了,加在新數(shù)據(jù)。這個(gè)時(shí)間可以自己調(diào)整
[sel
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026四川成都市雙流中學(xué)龍渡校區(qū)招聘在職教師36人考試參考題庫(kù)及答案解析
- 2026江西南昌市新建經(jīng)開(kāi)區(qū)中心幼兒園招聘教師考試參考試題及答案解析
- 2026鄂爾多斯伊金霍洛旗公立醫(yī)院招聘90名專業(yè)技術(shù)人員考試備考題庫(kù)及答案解析
- 2025年全國(guó)自來(lái)水廠質(zhì)量整治工作方案
- 2025年全國(guó)消防員考試試題及答案
- 2025-2030新能源汽車熱泵空調(diào)市場(chǎng)供需分析及投資評(píng)估報(bào)告
- 2025-2030新能源汽車電機(jī)與電控技術(shù)研發(fā)應(yīng)用推廣前景分析報(bào)告
- 2025-2030新能源汽車動(dòng)力電池市場(chǎng)分析供需趨勢(shì)投資機(jī)會(huì)布局規(guī)劃研究報(bào)告
- 2026銀川市湖畔中學(xué)臨聘初中教師3人考試參考試題及答案解析
- 贛州市保育院招聘殘疾人考試備考題庫(kù)及答案解析
- 郵輪郵輪產(chǎn)業(yè)與郵輪經(jīng)濟(jì)概述
- 江蘇建設(shè)工程質(zhì)量檢測(cè)和建筑材料試驗(yàn)收費(fèi)標(biāo)準(zhǔn)蘇價(jià)服
- WB/T 1019-2002菱鎂制品用輕燒氧化鎂
- GB/T 6003.2-1997金屬穿孔板試驗(yàn)篩
- 完整word版毛澤東思想和中國(guó)特色社會(huì)主義理論體系概論知識(shí)點(diǎn)歸納
- GB/T 18926-2008包裝容器木構(gòu)件
- GB/T 13350-2008絕熱用玻璃棉及其制品
- DB11T 594.1-2017 地下管線非開(kāi)挖鋪設(shè)工程施工及驗(yàn)收技術(shù)規(guī)程第1部分:水平定向鉆施工
- GB∕T 26408-2020 混凝土攪拌運(yùn)輸車
- 說(shuō)明書(shū)hid500系列變頻調(diào)速器使用說(shuō)明書(shū)s1.1(1)
- 綠色建筑二星級(jí)認(rèn)證及綠色施工實(shí)施方案
評(píng)論
0/150
提交評(píng)論