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


  • 相关阅读:
    P1087 FBI树 二叉树
    回顾测试和测试方法
    Postman
    执行用例的思路、批量执行(可选)、定时任务
    unittest平台分析与建表:
    HTMLTestRunner源码
    665. Non-decreasing Array
    661. Image Smoother
    643. Maximum Average Subarray I
    628. Maximum Product of Three Numbers
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4880001.html
Copyright © 2011-2022 走看看