zoukankan      html  css  js  c++  java
  • 0301——SearchController

     创建显示的页面

           SearchViewController * searchVC = [[SearchViewController alloc]init];

     告诉搜索控制器将结果显示在创建的页面上

           self.searchController = [[UISearchController alloc]initWithSearchResultsController:searchVC];

       由谁来监听搜索内容发生的事件

           self.searchController.searchResultsUpdater = self;

       在tableview上方显示searchbar

           self.MyTableView.tableHeaderView = _searchController.searchBar;

       设置提供显示新页面

           self.searchController.definesPresentationContext= YES;

       

     

    <UISearchResultsUpdating>

    代理方法

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

       设置查找条件

        NSPredicate * predicate = [NSPredicate predicateWithFormat:@"SELF contains[cd] %@",searchController.searchBar.text];

       过滤出结果

        NSArray * results = [_dataSourceArray filteredArrayUsingPredicate:predicate];

       找到应显示的结果位置searchResultsController

        SearchViewController *sResultCtrl = (SearchViewController *)_searchController.searchResultsController;

       设置数据源

        sResultCtrl.dataSourceArray = results;

    }

     

     

    结果类 SearchViewController 中

    - (void)setDataSourceArray:(NSArray *)dataSourceArray{

        _dataSourceArray = dataSourceArray;

        刷新列表

        [self.myTableView reloadData];

    }

  • 相关阅读:
    CF710F String Set Queries AC自动机 二进制分组
    类欧几里得学习笔记
    P2053 [SCOI2007]修车 网络流
    螺旋方阵
    灯的排列问题
    编码问题
    论文阅读博客模板
    论文阅读框架模板
    动作识别论文20191104_Probabilistic selection of frames for early action recognition in videos
    剑指offer 57. 数字序列中某一位的数字
  • 原文地址:https://www.cnblogs.com/damonWq/p/5229675.html
Copyright © 2011-2022 走看看