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


  • 相关阅读:
    Android实现App版本自动更新
    Android EditText+ListPopupWindow实现可编辑的下拉列表
    Android 侧滑面板的实现(DragLayout)
    android之SlideMenu双向滑动
    Android 从无到有打造一个炫酷的进度条效果
    Android 自定义View修炼-仿360手机卫士波浪球进度的实现
    TabLayout禁止选择
    Metasploit的攻击实例讲解----ms10_046快捷方式图标漏洞
    PowerDesigner 16.5的下载安装破解注册(图文详解)
    Metasploit的armitage初步使用
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4880002.html
Copyright © 2011-2022 走看看