• 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];
  • 相关阅读:
    【转】双口RAM
    Beep使用
    fcntl函数
    ioctl() 参数
    线程属性:pthread_attr_t
    GPIO
    Linux CGI编程基础
    看门狗watchdog
    Linux库知识大全
    linux进程间通讯
  • 原文地址:https://www.cnblogs.com/howdoudo/p/4313574.html
Copyright © 2020-2023  润新知