zoukankan      html  css  js  c++  java
  • 自定义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;

  • 相关阅读:
    jaxb 专题一(JAXB 实现java对象与xml之间互相转换)
    spring @Transactional注解参数详解
    Spring声明式事务管理与配置详解
    spring源码解析--事务篇(前篇)
    Java的三种代理模式
    Spring AOP面向切面编程详解
    Spring AOP基于注解的“零配置”方式实现
    Spring AOP 中pointcut expression表达式解析及配置
    Spring AOP详解
    一种解决maven单继承的办法
  • 原文地址:https://www.cnblogs.com/Apologize/p/5908527.html
Copyright © 2011-2022 走看看