zoukankan      html  css  js  c++  java
  • UISearchDisplayController “No Results“ cancel修改

    Recently I needed to fully customize a UISearchBar, so here are some basic “recipes” on how to manage that using a UISearchDisplayController.

     

    1. Changing the title of the “cancel” button

    If you want to localize your UISearchBar or just want to apply a unique text matching your application just implement the following UISearchDisplayControllerDelegate method:

    -(void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller{
    
    [searchBar setShowsCancelButton:YES animated:NO];
    
    for(UIView *subView in searchBar.subviews){
    
    if([subView isKindOfClass:[UIButton class]]){
    
    [(UIButton*)subView setTitle:@"myCustomTitle" forState:UIControlStateNormal];
    
    }
    
    }
    
    }
    

    2. Changing the title of the “no results” label

    Again you need to implement a delegate method

    -(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString{
    
    for(UIView *subview in searchController.searchResultsTableView.subviews) {
    
    if([subview isKindOfClass:[UILabel class]]) {
    
    [(UILabel*)subview setText:@"my custom 'no results' text"];
    
    }
    
    }
    
    return YES;
    
    }
    

    3. Custom background image

    Insert this snippet directly after you initialized your UISearchBar

    searchBarOverlay = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"SearchBarBack"]];
    searchBarOverlay.frame = CGRectMake(-8, -2, 320, 48);
    [searchBar addSubview:searchBarOverlay];
    [searchBar sendSubviewToBack:searchBarOverlay];
    
    for (UIView *v in [searchBar subviews]) {
    
    if ([NSStringFromClass([v class]) isEqualToString:@"UISearchBarBackground"])
    {
    [searchBar sendSubviewToBack:v];
    }
    
    if ([NSStringFromClass([v class]) isEqualToString:@"UIImageView"] && v != searchBarOverlay)
    {
    [searchBar sendSubviewToBack:v];
    }
    }

    5.Custom background color

    Finally a one-liner

     searchBar.tintColor = [UIColor redColor]; 


  • 相关阅读:
    震撼光效:Geomerics Enlighten Demo at GDC 2010
    CryEngine3SDK尝鲜
    李嘉诚:没有人愿意贫穷,但出路在哪(转自意林)
    OGRE手册脚本<texture_unit>
    《OgreBeginner'sGuidede》第七章翻译(原)
    李彦宏15年前搜索专利曝光:谷歌创始人拾惠(转)
    中国大侠vs生化战士(转)
    OGRE主要渲染流程简介(转)
    好运设计(史铁生散文)
    游戏设计的秘密——翻译GDC2010 blizzard的一个演讲【转】
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4880001.html
Copyright © 2011-2022 走看看