搜索

作者: 天亮説晚安 | 来源:发表于2016-01-24 20:43 被阅读171次
//懒加载,创建搜索结果控制器。当在搜索框里里输入内容时,显示搜索结果控制器。结束在搜索结果控制器输入内容时,隐藏搜索控制器,为了避免多次创建搜索结果控制器,使用懒加载。
- (MTCitySearchResultViewController *)citySearchResult
{
    if (!_citySearchResult) {
        MTCitySearchResultViewController *citySearchResult = [[MTCitySearchResultViewController alloc] init];
        [self addChildViewController:citySearchResult];
        self.citySearchResult = citySearchResult;
        [self.view addSubview:self.citySearchResult.view];
        //用第三方框架设置创建搜索结果控制器的view和父view的位置关系。
        [self.citySearchResult.view autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero excludingEdge:ALEdgeTop];
        [self.citySearchResult.view autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:self.searchBar withOffset:15];
    }
    return _citySearchResult;
}
#pragma mark - 搜索框代理方法
/**
 *  键盘弹出:搜索框开始编辑文字
 */
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
    // 1.隐藏导航栏
    [self.navigationController setNavigationBarHidden:YES animated:YES];
    
    // 2.修改搜索框的背景图片
    [searchBar setBackgroundImage:[UIImage imageNamed:@"bg_login_textfield_hl"]];
    
    // 3.显示搜索框右边的取消按钮
    [searchBar setShowsCancelButton:YES animated:YES];
    
    // 4.显示遮盖
    [UIView animateWithDuration:0.5 animations:^{
        self.cover.alpha = 0.5;
    }];
}

/**
 *  键盘退下:搜索框结束编辑文字
 */
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
    // 1.显示导航栏
    [self.navigationController setNavigationBarHidden:NO animated:YES];
    
    // 2.修改搜索框的背景图片
    [searchBar setBackgroundImage:[UIImage imageNamed:@"bg_login_textfield"]];
    
    // 3.隐藏搜索框右边的取消按钮
    [searchBar setShowsCancelButton:NO animated:YES];
    
    // 4.隐藏遮盖
    [UIView animateWithDuration:0.5 animations:^{
        self.cover.alpha = 0.0;
    }];
    
    // 5.移除搜索结果
    self.citySearchResult.view.hidden = YES;
    searchBar.text = nil;
}

/**
 *  点击搜索框里的取消时调用
 */
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
    [searchBar resignFirstResponder];
}

/**
 *  搜索框里面的文字变化的时候调用
 */
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
    if (searchText.length) {
        self.citySearchResult.view.hidden = NO;
        self.citySearchResult.searchText = searchText;
    } else {
        self.citySearchResult.view.hidden = YES;
    }
}

相关文章

  • 搜索+搜索+搜索

    鲜活的一天,从起床那刻开始! <感谢小能熊@陈华伟老师的知识管理课程,仅用于个人笔记学习> 引子 经典的东西值得反...

  • 搜索条搜索

    AppDelegate.m ViewController *theVc = [[ViewController al...

  • GridSearch

    不同搜索空间的比较图: 空间搜索 螺旋搜索 线性搜索 网格搜索 可以看到,在超参的搜索过程汇总,网格搜索和螺旋搜索...

  • 搜索功能 分类搜索

    ``` defindexifparams[:category].blank? @products = Prod...

  • 说“搜索”就搜索

    某天逛网易严选,想买条毛巾,直接在搜索区搜索毛巾 在结果中,下翻了许久,太多种类了,只想买纯棉毛巾,这时想搜索“纯...

  • 搜索最近搜索建议

    前言 本章内容为 Android开发者指南的 Framework Topics/Search/Adding Rec...

  • 排序与搜索:搜索

    搜索 搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几...

  • 【电商运营01】做不好淘宝SEO?怪不得没人买你的好货!

    一、淘宝搜索 1、按买家的搜索行为: (1)关键词搜索(2)类目搜索 2、按搜索框的搜索形式: (1)宝贝搜索(默...

  • 浙江省多媒体设计竞赛——网站类作品

    常用功能介绍 搜索:全文搜索、拼音搜索、各种搜索关键词检错、搜索自动补全(搜索提示)、详细的高级搜索等等【评委两年...

  • 搜索

    搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见...

网友评论

      本文标题:搜索

      本文链接:https://www.haomeiwen.com/subject/azwrkttx.html