zoukankan      html  css  js  c++  java
  • 【IOS】UISearchBar背景透明,去掉背景,自定义背景

    ios6,ios7,ios7.1下设置UISearchbar的背景色

    ios系统升级到7.1后,原来在7.0下显示正常的UISearchbar现在又出现问题了。究其原因,是由于UISearchbar的subview又做修改了。

     1 //修改searchBar样式
     2 
     3 - (void)changeSearchBar {
     4 
     5     float version = [[[UIDevice currentDevice] systemVersion] floatValue];
     6 
     7     if ([_searchBar respondsToSelector:@selector(barTintColor)]) {
     8 
     9         float iosversion7_1 = 7.1;
    10 
    11         if (version >= iosversion7_1)        {
    12 
    13             //iOS7.1
    14 
    15             [[[[_searchBar.subviews objectAtIndex:0] subviews] objectAtIndex:0] removeFromSuperview];
    16 
    17             [_searchBar setBackgroundColor:[UIColor clearColor]];
    18 
    19         }
    20 
    21         else {            //iOS7.0
    22 
    23             [_searchBar setBarTintColor:[UIColor clearColor]];
    24 
    25             [_searchBar setBackgroundColor:[UIColor clearColor]];
    26 
    27         }
    28 
    29     }
    30 
    31     else {
    32 
    33         //iOS7.0以下
    34 
    35         [[_searchBar.subviews objectAtIndex:0] removeFromSuperview];
    36 
    37 //        [_searchBar setBackgroundColor:[UIColor clearColor]];
    38 
    39         [_searchBar setBackgroundColor:[UIColor colorWithPatternImage:[UIImageimageNamed:@"searchBarBg.png"]]];
    40 
    41     }}

     

    //一行代码搞定去掉去掉背景

    [[searchbar.subviews objectAtIndex:0]removeFromSuperview];

    ----------------------------------------------------------------------

     

    注意:

    去掉搜索控件的背景之后在下方会出现一条黑线,我们要把那条黑线去除

    1 CGRect rect = self.searchBar.frame;
    2 UIView *lineView = [[UIView alloc]initWithFrame:CGRectMake(0, rect.size.height-2,rect.size.width, 2)];
    3 lineView.backgroundColor = [UIColor whiteColor];
    4 [self.searchBar addSubview:lineView];
     1 /*UISearchBar背景透明,去掉背景,自定义背景*/
     2 
     3 seachBar=[[UISearchBar alloc] init];
     4 
     5  
     6 
     7 //修改搜索框背景
     8 
     9 seachBar.backgroundColor=[UIColor clearColor];
    10 
    11 //去掉搜索框背景
    12 
    13 //1.
    14 
    15 [[searchbar.subviews objectAtIndex:0]removeFromSuperview];
    16 
    17 //2.
    18 
    19 for (UIView *subview in seachBar.subviews) 
    20 
    21 {  
    22 
    23 if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")])
    24 
    25 {  
    26 
    27 [subview removeFromSuperview];  
    28 
    29 break;  
    30 
    31 }  
    32 
    33 } 
    34 
    35 //3自定义背景
    36 
    37 UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"40-di.png"]];
    38 
    39     [mySearchBar insertSubview:imageView atIndex:1];
    40 
    41     [imageView release];
    42 
    43 //4输入搜索文字时隐藏搜索按钮,清空时显示
    44 
    45 - (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {  
    46 
    47 searchBar.showsScopeBar = YES;  
    48 
    49 [searchBar sizeToFit];  
    50 
    51 [searchBar setShowsCancelButton:YES animated:YES];  
    52 
    53 return YES;  
    54 
    55 }  
    56 
    57 - (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar {  
    58 
    59 searchBar.showsScopeBar = NO;  
    60 
    61 [searchBar sizeToFit];  
    62 
    63 [searchBar setShowsCancelButton:NO animated:YES];  
    64 
    65 return YES;  
    66 
    67 }  
    68 
    69 //改变搜索按钮文字
    70 
    71 //改变UISearchBar取消按钮字体
    72 
    73 for(id cc in [searchBar subviews])
    74 
    75     {
    76 
    77 if([cc isKindOfClass:[UIButton class]])
    78 
    79         {
    80 
    81             UIButton *btn = (UIButton *)cc;
    82 
    83             [btn setTitle:@"搜索"  forState:UIControlStateNormal];
    84 
    85         }
    86 
    87 }
  • 相关阅读:
    requets中urlencode的问题
    洛谷$P4503 [CTSC2014]$企鹅$QQ$ 哈希
    洛谷$P5446 [THUPC2018]$绿绿和串串 $manacher$
    洛谷$P5329 [SNOI2019]$字符串 字符串
    洛谷$P1390$ 公约数的和 欧拉函数
    洛谷$P4318$ 完全平方数 容斥+二分
    入门懵逼钨丝繁衍
    $ CometOJ-Contest#11 D$ $Kruscal$重构树
    洛谷$P4884$ 多少个1? 数论
    入门数论简单总结
  • 原文地址:https://www.cnblogs.com/DannyApple/p/3969393.html
Copyright © 2011-2022 走看看