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

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

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

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

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

解決方案

先自定義一個搜索框 改好樣式,然后監(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是為了防止用戶輸入完直接點擊搜索,延時結(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自定義搜索框 實現(xiàn)用戶輸入完之后“實時搜索”功能的文章就介紹到這了,更多相關(guān)ios UITextField自定義搜索框 實時搜索內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

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

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

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

    這篇文章主要介紹了IOS 通訊錄信息讀取兼容的實現(xiàn)方法的相關(guān)資料,這里提供實現(xiàn)方法幫助大家實現(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實現(xiàn)模擬定位功能的示例代碼

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

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

    詳解在iOS11下app圖標變空白的問題解決方法

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

    詳解如何使用ReactiveObjC

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

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

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

    iOS UITableView 與 UITableViewController實例詳解

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

    淺談iOS11新特性:新增拖拽交互體驗

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

最新評論

和政县| 鹤壁市| 织金县| 屯门区| 绥中县| 双鸭山市| 饶平县| 望奎县| 济源市| 紫金县| 定远县| 西宁市| 宿松县| 宁陵县| 广昌县| 五台县| 大埔区| 聂拉木县| 河源市| 连云港市| 米泉市| 新安县| 循化| 汉沽区| 兴宁市| 额济纳旗| 汉源县| 林甸县| 怀集县| 夏河县| 五寨县| 日照市| 山西省| 响水县| 汕头市| 昌都县| 义乌市| 东莞市| 贵南县| 高密市| 彭阳县|