你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開發-UI (九)UITableView搜索功用

iOS開發-UI (九)UITableView搜索功用

編輯:IOS開發綜合

知識點:

1.UITableView搜索功用

<UITableViewDataSource,UITableViewDelegate,UISearchResultsUpdating,UISearchControllerDelegate>

=======================

UITableView搜索功用

    1.UISearchController

搜索控制器

@property (nonatomic,strong)UITableView *tableView;//表格視圖

@property (nonatomic,strong)NSMutableArray *dataArr;//數據源數組

@property (nonatomic,strong)UISearchController *searchCtl;//搜索

 

 

2.創立方式

- (instancetype)initWithSearchResultsController:(UIViewController *)searchResultsController;

//實例化一個ResultViewController

    ResultViewController *ctl = [ResultViewController new];

    NSLog(@"ctl = %p",ctl);

    //實例化一個搜索控制器

    //參數:需求提供一個展現後果的控制器

    self.searchCtl = [[UISearchController alloc] initWithSearchResultsController:ctl];

 

 

3.@property (nonatomic, assign) BOOL dimsBackgroundDuringPresentation;

作用:在搜索的時分使底色變暗

//去掉變暗效果

    self.searchCtl.dimsBackgroundDuringPresentation = NO;

 

4.可遵照的協議代理

1)UISearchResultsUpdating

2)UISearchControllerDelegate

//設置代理

    self.searchCtl.searchResultsUpdater = self;

    self.searchCtl.delegate = self;

 

5.代理辦法

1)- (void)updateSearchResultsForSearchController:(UISearchController *)searchController;

調用機遇:當搜索框的輸出內容改動的時分

#pragma mark- UISearchResultsUpdating

//進入編輯形式或許搜索輸出框內容發作改動的時分,都會回調以下辦法

-(void)updateSearchResultsForSearchController:(UISearchController *)searchController{

    //獲得展現搜索後果的控制器對象

    ResultViewController *resultCtl = (ResultViewController *)searchController.searchResultsController;

    NSLog(@"resultCtl = %p",resultCtl);

    //清空數組

    [resultCtl.saveArr removeAllObjects];

    for (NSString *name in self.dataArr) {

        //判別name當中能否包括了searchBar.text

        if ([name containsString:searchController.searchBar.text]) {

            [resultCtl.saveArr addObject:name];
        }
    }
    //刷新UI
    [resultCtl.resultTableView reloadData];
}

 

2)- (void)didDismissSearchController:(UISearchController *)searchController

調用機遇:當加入搜索形式的時分

//加入搜索形式

-(void)didDismissSearchController:(UISearchController *)searchController{

    //切換成非搜索形式

    self.isSearch = NO;
    //刷新UI
    [self.tableView reloadData];
}

 

 

6.UISearchBar

搜索框

//設置searchBar此搜索輸出框為表格視圖的頭部視圖

    self.tableView.tableHeaderView = self.searchCtl.searchBar;

 

 

1)sizeToFit

作用:UIView依據自己的內容來變化Frame的大小

//依據內容自動婚配自身的大小

    [self.searchCtl.searchBar sizeToFit];

 

2)placeholder

作用:文字提示

//設置文字提示

    self.searchCtl.searchBar.placeholder = @"請輸出關鍵字";

 

3)barTintColor

作用:輸出框的背風光

//背風光

    self.searchCtl.searchBar.barTintColor = [UIColor cyanColor];

 

【iOS開發-UI (九)UITableView搜索功用】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved