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];
  • 相关阅读:
    Mysql Got a packet bigger than 'max_allowed_packet' bytes
    Git之IDEA集成Git更新项目Update Type选项解释
    IDEA获取GIT仓库时更新类型update type的选择
    git merge和git rebase的区别
    git merge和git merge --no-ff的区别
    Git中fetch和pull命令的区别
    git官网下载太慢解决方法
    IDEA执行Thread.activeCount() = 2的问题
    k8s 常见错误汇总
    Axure9破解
  • 原文地址:https://www.cnblogs.com/howdoudo/p/4313574.html
Copyright © 2011-2022 走看看