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]; 


  • 相关阅读:
    Blank page instead of the SharePoint Central Administration site
    BizTalk 2010 BAM Configure
    Use ODBA with Visio 2007
    Handling SOAP Exceptions in BizTalk Orchestrations
    BizTalk与WebMethods之间的EDI交换
    Append messages in BizTalk
    FTP protocol commands
    Using Dynamic Maps in BizTalk(From CodeProject)
    Synchronous To Asynchronous Flows Without An Orchestration的简单实现
    WSE3 and "Action for ultimate recipient is required but not present in the message."
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4880002.html
Copyright © 2011-2022 走看看