zoukankan      html  css  js  c++  java
  • IOS--常用控件--UISearchBar和UISearchDisplayController

    一、UISearchBar单独使用时,设置样式:

    UIView *view =[mySearchBar.subviews objectAtIndex:0];

        //    view.backgroundColor =[UIColor clearColor];

        for (UIView *backview in view.subviews) {

            if ([backview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {

                [backview removeFromSuperview];

                break;

            }

        }

    二、UISearchBar和UISearchDisplayController结合使用时:

    • 关于代理
     // searchResultsDataSource 就是 UITableViewDataSource
     searchDisplayController.searchResultsDataSource = self;
     // searchResultsDelegate 就是 UITableViewDelegate
     searchDisplayController.searchResultsDelegate = self;
    

    别忘了这个:

    searchDisplayController.delegate = self;
    
    • 如果想设置 cancelbutton的颜色:
     searchBar.tintColor = [UIColor whiteColor];
    
    • 如果想设置 cancelbutton的字体: 在IOS7下这样设置:
    -(void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller{
     self.searchDisplayController.searchBar.showsCancelButton = YES;
     UIButton *cancelButton;
     UIView *topView = self.searchDisplayController.searchBar.subviews[0];
     for (UIView *subView in topView.subviews) {
     if ([subView isKindOfClass:NSClassFromString(@"UINavigationButton"))]) {
     cancelButton = (UIButton*)subView;
    }
    }
     if (cancelButton) {
     //Set the new title of the cancel button
     [cancelButton setTitle:@"Annuller"forState:UIControlStateNormal];
    }
    }
    

    在IOS5/6下这样设置:

    - (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller{
     self.searchDisplayController.searchBar.showsCancelButton = YES;
     UIButton *cancelButton = nil;
     for (UIView *subView in self.searchDisplayController.searchBar.subviews) {
     if ([subView isKindOfClass:UIButton)]) {
     cancelButton = (UIButton*)subView;
    }
    }
     if (cancelButton){
     //Set the new title of the cancel button
     [cancelButton setTitle:@"Annuller"forState:UIControlStateNormal];
    }
    }
    
    • 如果想设置 UISearchBar的背景颜色可以这样设置:
    searchDisplayController.searchBar.barTintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"nav_bg"]];
    
    • 设置UISearchDisplayController是否激活: eg:当我点击 搜索列表 的时候,我想让 searchbar恢复原状,即导航栏也恢复原状时;
    [searchDisplayController setActive:NO animated:YES];
  • 相关阅读:
    数和量的认识
    判断Exe(DLL)和符号文件是否匹配---验证模块和符号文件是否匹配的工具和方法
    CPU怎么计算1+1----CPU计算的电路基础
    java8-StreamAPI之collection归约操作
    java8-Stream流API
    java8-从Lamda到方法引用和构造引用
    java8-详解Lamda表达式
    Java8-Lamda和Stream原理引入
    jdk13-新特性预览
    mybatis配置
  • 原文地址:https://www.cnblogs.com/howdoudo/p/4313574.html
Copyright © 2011-2022 走看看