最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS 使用UITextField自定義搜索框 實(shí)現(xiàn)用戶輸入完之后“實(shí)時搜索”功能

 更新時間:2020年03月19日 20:56:05   作者:瓜皮青年阿剛  
這篇文章主要介紹了iOS 使用UITextField自定義搜索框 實(shí)現(xiàn)用戶輸入完之后“實(shí)時搜索”功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

注:CSDN的代碼塊有點(diǎn)撈,如果瀏覽器窗口較窄,一行代碼占了兩行的位置,后面的代碼就看不到了,大家可以把瀏覽器窗口拉大一點(diǎn)

UI小姐姐設(shè)計的搜索框經(jīng)常是五花八門,系統(tǒng)的搜索框經(jīng)常不能滿足我們的需求,需要我們特別定制一個。但是UITextField的諸多回調(diào)里面,沒有一個是適合觸發(fā)搜索時間的。
UITextFieldTextDidChangeNotification調(diào)用過于頻繁,每輸入一個字符就調(diào)一次接口怕是不太合適。
UITextFieldTextDidEndEditingNotification只有在結(jié)束編輯的時候才會調(diào)一次,結(jié)束編輯就意味著鍵盤消失了,也不太合適。
這樣就難倒我們了嗎,當(dāng)然不是,辦法還是有滴。

解決方案

先自定義一個搜索框 改好樣式,然后監(jiān)聽UITextFieldTextDidChangeNotification

- (void)textFieldDidChange{
 if (self.searchDelegate && [self.searchDelegate respondsToSelector:@selector(customSearchBar:textDidChange:)]) {
 [self.searchDelegate customSearchBar:self textDidChange:self.text];
 }
}

使用

@property (nonatomic, strong) LGCustomSearchBar *searchBar;
@property (nonatomic, assign) NSInteger inputCount; 記錄輸入次數(shù)

- (void)viewDidLoad {
 [super viewDidLoad];
 self.searchBar = [[LGCustomSearchBar alloc] initWithFrame:CGRectMake(20, 10, kScreenWidth-40, 36)];
 self.searchBar.searchDelegate = self;
 [self.view addSubview:self.searchBar];
}
- (void)customSearchBar:(LGCustomSearchBar *)searchBar textDidChange:(NSString *)searchText{
 if (searchText.length == 0) {
 [self searchKeyword:@(self.inputCount)];
 }
 else{
 self.inputCount++;
 [self performSelector:@selector(searchKeyword:) withObject:@(self.inputCount) afterDelay:1.5f];
 }
}
- (void)searchKeyword:(NSNumber *)inputCount{
	// 判斷不等于0是為了防止用戶輸入完直接點(diǎn)擊搜索,延時結(jié)束之后又搜索一次
 if (inputCount.integerValue == self.inputCount && self.inputCount != 0) {
 [self loadData];
 }
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
 [self loadData];
 return NO;
}
- (void)loadData{
 self.inputCount = 0;
	// 本地查詢 或者 請求數(shù)據(jù)
	...
 [self.tableView reloadData];
}

核心代碼

延遲1.5秒以后執(zhí)行搜索,判讀如果1.5秒之后傳入的輸入次數(shù)和現(xiàn)在的輸入次數(shù)一致,說明用戶1.5秒已經(jīng)沒有輸入新內(nèi)容了,加在新數(shù)據(jù)。這個時間可以自己調(diào)整

[self performSelector:@selector(searchKeyword:) withObject:@(self.inputCount) 
afterDelay:1.5f];

總結(jié)

到此這篇關(guān)于iOS 使用UITextField自定義搜索框 實(shí)現(xiàn)用戶輸入完之后“實(shí)時搜索”功能的文章就介紹到這了,更多相關(guān)ios UITextField自定義搜索框 實(shí)時搜索內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • iOS中創(chuàng)建表格類視圖WBDataGridView的實(shí)例代碼

    iOS中創(chuàng)建表格類視圖WBDataGridView的實(shí)例代碼

    這篇文章主要介紹了iOS中創(chuàng)建表格類視圖WBDataGridView的實(shí)例代碼,需要的朋友可以參考下
    2017-02-02
  • iOS開發(fā)中常用的各種動畫、頁面切面效果

    iOS開發(fā)中常用的各種動畫、頁面切面效果

    這篇文章主要介紹了iOS開發(fā)中常用的各種動畫、頁面切面效果 的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • IOS 通訊錄信息讀取兼容的實(shí)現(xiàn)方法

    IOS 通訊錄信息讀取兼容的實(shí)現(xiàn)方法

    這篇文章主要介紹了IOS 通訊錄信息讀取兼容的實(shí)現(xiàn)方法的相關(guān)資料,這里提供實(shí)現(xiàn)方法幫助大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-08-08
  • 解決蘋果ios用js的Date()出現(xiàn)NaN的問題

    解決蘋果ios用js的Date()出現(xiàn)NaN的問題

    下面小編就為大家分享一篇解決蘋果ios用js的Date()出現(xiàn)NaN的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • iOS實(shí)現(xiàn)模擬定位功能的示例代碼

    iOS實(shí)現(xiàn)模擬定位功能的示例代碼

    這篇文章主要介紹了iOS實(shí)現(xiàn)模擬定位功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 詳解在iOS11下app圖標(biāo)變空白的問題解決方法

    詳解在iOS11下app圖標(biāo)變空白的問題解決方法

    本篇文章主要介紹了詳解在iOS11下app圖標(biāo)變空白的問題解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • 詳解如何使用ReactiveObjC

    詳解如何使用ReactiveObjC

    RAC 指的就是 RactiveCocoa ,是 Github 的一個開源框架,能夠通過信號提供大量方便的事件處理方案,讓我們更簡單粗暴地去處理事件,現(xiàn)在分為 ReactiveObjC(OC) 和 ReactiveSwift(swift)。本文將詳細(xì)介紹如何使用ReactiveObjC。
    2021-06-06
  • IOS實(shí)現(xiàn)驗(yàn)證碼倒計時功能(一)

    IOS實(shí)現(xiàn)驗(yàn)證碼倒計時功能(一)

    這篇文章主要介紹了IOS實(shí)現(xiàn)驗(yàn)證碼倒計時功能,點(diǎn)擊獲取驗(yàn)證碼,進(jìn)入時間倒計時,感興趣的小伙伴們可以參考一下
    2016-01-01
  • iOS UITableView 與 UITableViewController實(shí)例詳解

    iOS UITableView 與 UITableViewController實(shí)例詳解

    這篇文章主要介紹了iOS UITableView 與 UITableViewController實(shí)例詳解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • 淺談iOS11新特性:新增拖拽交互體驗(yàn)

    淺談iOS11新特性:新增拖拽交互體驗(yàn)

    這篇文章主要介紹了淺談iOS11新特性:新增拖拽交互體驗(yàn),iOS11新引入了拖拽相關(guān)的API可以幫助開發(fā)者快速的構(gòu)建拖拽交互,在iOS11中,使用這種API進(jìn)行APP的開發(fā)為設(shè)計提供了一種全新維度的用戶交互方式。
    2017-12-12

最新評論

伊春市| 扎鲁特旗| 呼图壁县| 新兴县| 涟源市| 泗洪县| 荣成市| 德阳市| 科技| 阿尔山市| 榆树市| 犍为县| 丰宁| 阳新县| 吴桥县| 岑溪市| 白银市| 日照市| 桂阳县| 宣化县| 观塘区| 织金县| 桦甸市| 明光市| 长顺县| 锡林郭勒盟| 竹山县| 大悟县| 凤凰县| 从化市| 普兰店市| 土默特右旗| 镇原县| 弥勒县| 永寿县| 沐川县| 扎兰屯市| 易门县| 江西省| 措勤县| 昭平县|