• 自定义UISearchBar


    先上系统默认的UISearchBar,然后用KVO修改

    UISearchBar *searchBar = [[UISearchBar alloc]initWithFrame:_topView.bounds];
    searchBar.placeholder = @"请输入您要搜索的商品";

    效果为:

    ①将取消按钮cancle改为“取消”

    -(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{
        searchBar.showsCancelButton = YES;
        for(UIView *view in  [[[searchBar subviews] objectAtIndex:0] subviews]) {
            if([view isKindOfClass:[NSClassFromString(@"UINavigationButton") class]]) {
                UIButton * cancel =(UIButton *)view;
                [cancel setTitle:@"取消" forState:UIControlStateNormal];
                [cancel setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
                cancel.titleLabel.font = [UIFont systemFontOfSize:14];
            }
        }
    }

    效果为

     

    ②修改searchbar背景色

    UIView *backView = [[UIView alloc]initWithFrame:searchBar.bounds];
    backView.backgroundColor = [UIColor colorWithRed:37/255.0 green:205/255.0 blue:120/255.0 alpha:1];
    [searchBar insertSubview:backView atIndex:1];

     

    ③设置searchbar输入框背景颜色及删减符号mode

    UITextField *searchField = [searchBar valueForKey:@"_searchField"];
    searchField.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.1];
    searchField.clearButtonMode = UITextFieldViewModeNever;

     

    ④修改searchbar输入框的文字和占位符文字颜色

    UITextField *searchField = [searchBar valueForKey:@"_searchField"];
    searchField.textColor = [UIColor whiteColor];
    [searchField setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];

     

    ⑤修改放大镜图标

    UITextField *searchField = [searchBar valueForKey:@"_searchField"];
    UIImageView *iconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon_search"]];
    iconView.frame = CGRectMake(0, 0, 15 , 15);
    searchField.leftView = iconView;

  • 相关阅读:
    access导入报错 请求筛选模块被配置为拒绝超过请求内容长度的请求
    win10装回win7。PE下把原来的系统盘格掉,再安装hdd,重启就好了
    sql语句Order by 报错列名不明确
    C#字符串长度判断
    Struts2中数据封装机制
    Struts2中的页面跳转
    Struts2访问Servlet API的三种方式
    Struts2的动态Action实现
    Struts2基本概念
    javaweb开发之EL表达式
  • 原文地址:https://www.cnblogs.com/Apologize/p/5908527.html
Copyright © 2020-2023  润新知