zoukankan      html  css  js  c++  java
  • SearchBar改变背景颜色

    在许多需求下需要改变SearchBar的背景图片今天试了一下代码如下:

    方法一:

    复制代码
     
        UISearchBar *searchBar=[[UISearchBar alloc]initWithFrame:CGRectMake(0, 100, 320, 44)];
        [self.view addSubview:searchBar];
        
        for (UIView *obj in [searchBar subviews]) {
            for (UIView *objs in [obj subviews]) {
                if ([objs isKindOfClass:NSClassFromString(@"UISearchBarBackground")]){
                    [objs removeFromSuperview];
                }
            }
            if ([obj isKindOfClass:NSClassFromString(@"UISearchBarBackground")]){
                [obj removeFromSuperview];
            }
        }

       searchBar.backgroundColor=[UIColor colorWithRed:0.9686 green:0.9686 blue:0.9686 alpha:1.0];

     
    复制代码

    方法二:

    复制代码
    - (void)viewDidLoad
    {
        [super viewDidLoad];
    
        UISearchBar *searchBar=[[UISearchBar alloc]initWithFrame:CGRectMake(0, 100, 320, 44)];
        [self.view addSubview:searchBar];
        searchBar.backgroundImage = [self imageWithColor:[UIColor clearColor]];
        
    }
    - (UIImage *)imageWithColor:(UIColor *)color
    {
        CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
        UIGraphicsBeginImageContext(rect.size);
        CGContextRef context = UIGraphicsGetCurrentContext();
        
        CGContextSetFillColorWithColor(context, [color CGColor]);
        CGContextFillRect(context, rect);
        
        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        
        return image;
    }
    复制代码

    这两种方法都可以改变searchBar 的背景颜色,也可以通过断点调试来查看苹果内部信息。

  • 相关阅读:
    Java统计程序运行时间(转)
    有符号定点数的表示方法
    移位运算符
    索引
    self与super的区别(转)
    Java经典题型(未完成)
    ObjectiveC 的 self 和 super 详解
    边界计算与不对称边界
    各种排序总结
    运算符的优先级
  • 原文地址:https://www.cnblogs.com/wuwangchuxin/p/3666760.html
Copyright © 2011-2022 走看看