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];
  • 相关阅读:
    Learn D3 入门文档:Interaction
    获取和设置浏览器缩放比
    PC禁止浏览器缩放
    CSS实用技巧(中)
    vsCode设置Bash启动 最新版本1.60默认终端配置修改
    SpringBoot集成itextpdf动态生成pdf并展示
    SpringBoot集成markdown实现文档管理
    SpringBoot实现用户统一管理与单点登陆
    采用Angular + NG-ZORRO + Ng Alain 框架搭建的 MES前端框架
    node调试
  • 原文地址:https://www.cnblogs.com/howdoudo/p/4313574.html
Copyright © 2011-2022 走看看