iOS中利用UISearchBar實現搜索


先把源碼貼出來

https://github.com/losedMemory/ZSSearchBar   這是我在github上寫的一個Demo,大家可以看看

在大多數app中都會用到搜索功能,那么搜索功能的實現離不開UISearchBar這個控件.

UISearchBar繼承自UIView,下面簡單的介紹一下它的屬性和方法.

 UISearchBar *searchBar = [[UISearchBar alloc]init];

 searchBar.frame = CGRectMake(0, 0, 300, 44);//初始化方法

[searchBar setPlaceholder:@"搜索"];//設置占位文字

[searchBar setBarTintColor:[UIColor orangeColor]];//在這里設置背景顏色

當然會有些人這么寫:[searchBar setTintColor:[UIColor orangeColor]];但是根據文檔這個方法在iOS7之后就不再影響bar的背景顏色

[searchBar setTranslucent:YES];//設置是否透明

[searchBar setShowsSearchResultsButton:YES];//是否顯示搜索結果按鈕

就是這個按鈕,這個可以放大搜索結果

[searchBar setSearchTextPositionAdjustment:UIOffsetMake(30, 0)];//設置搜索框中文文本框的文本偏移量

 

[searchBar setShowsScopeBar:YES];

[searchBar setScopeButtonTitles:[NSArray arrayWithObjects:@"Singer",@"Song",@"Album", nil]];//這是設置搜索框下面的分欄的,效果如下:

[searchBar setSelectedScopeButtonIndex:1];//在這里設置默認選中的分欄

 

[searchBar setInputAccessoryView:maskView];//在進行搜索時顯示一個出現的遮罩,效果參照電話簿

[searchBar setShowsCancelButton:YES]  //是否顯示取消按鈕

//獲取cancelButton的方法,可以設置其點擊事件

 UIButton *cancelButton = [self.searchBar valueForKey:@"_cancelButton"];

代理方法:

//已經開始進行編輯

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar

//UISearchBar得到焦點並開始編輯時,執行該方法

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar

//取消按鈕的點擊事件

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar

//在鍵盤中的搜索按鈕的點擊事件

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar

//當搜索框中的內容發生改變時會自動進行搜索,這個是經常用的

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText

一般比較常用的就是這些

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM