iOS 搜尋功能的實現

2021-07-11 15:03:55 字數 2368 閱讀 8298

模仿iphone手機通訊錄

專案之前實現了拼音排序 通訊錄的設計。現在給通訊錄增加搜尋功能。

原介面如下:

搜尋功能主要依靠 uisearchbar uisearchdisplaycontroller來實現

第一步 初始化:初始化searbar 和seardisplaycontroller 以及 對應的兩個陣列(用來顯示全部結果以及搜尋結果)還有對應的delegate

@inte***ce comunicationviewcontroller ()

searchbar = [[uisearchbar alloc] init];

searchbar.delegate = self;

searchbar.placeholder = @"請輸入姓名";

[searchbar setautocapitalizationtype:uitextautocapitalizationtypenone];

[searchbar sizetofit];

comunicationtabelview.tableheaderview = searchbar;

= cgrectmake(0, 0, 320, comunicationtabelview.frame.size.height);

searchdisplaycontroller = [[uisearchdisplaycontroller alloc] initwithsearchbar:searchbar contentscontroller:self];

[searchdisplaycontroller setdelegate:self];

[searchdisplaycontroller setsearchresultsdatasource:self];

[searchdisplaycontroller setsearchresultsdelegate:self];

第二步 乙個匹配的方法 和2個delegate

- (void)filtercontentforsearchtext:(nsstring*)searchtext scope:(nsstring*)scope 

#pragma mark - uisearchdisplaycontroller delegate methods

-(bool)searchdisplaycontroller:(uisearchdisplaycontroller *)controller shouldreloadtableforsearchstring:(nsstring *)searchstring

- (bool)searchdisplaycontroller:(uisearchdisplaycontroller *)controller shouldreloadtableforsearchscope:(nsinteger)searchoption

最重要的是載入時:tableview判斷

#pragma mark -comunicationtableview**方法

//section中的row數

- (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section

else

}//高度

- (cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath

//section數

- (nsinteger)numberofsectionsintableview:(uitableview *)tableview

else

}//section 的名字

-(nsstring *)tableview:(uitableview *)tableview titleforheaderinsection:(nsinteger)section

else

}- (nsarray *)sectionindextitlesfortableview:(uitableview *)tableview

else

}

最後就實現了:

iOS 實現模糊搜尋的功能

模糊搜尋的實現思路是當搜尋框開始編輯時對搜尋框中的文字與後台給的資源相對比,包含搜尋文字的展示在tableview中.關鍵部分 如下 void searchbar uisearchbar searchbar textdidchange nsstrin程式設計客棧g searchtext self.t...

iOS搜尋功能(search demo)

這段時間做了一下搜尋功能,網上搜了搜各式各樣,因此根據需求寫了個demo,以便滿足現在專案的需求。搜尋功能,顧名思義就是為了搜尋內容,那麼我們的關注點就有了 內容查詢 注釋 這個查詢可能是本地資料,也有可能是網路資料 關鍵點 查詢內容 方法一 c 不區分大小寫 d 不區分發音符號即沒有重音符號 cd...

實現搜尋功能

準備檢視函式search 修改base.html 中搜尋輸入框所在的 form action method get input type text placeholder 搜尋從這裡開始.style width 180px margin left auto height 30px padding l...