LPPloveROU 2012-12-13 05:15 采纳率: 50%
浏览 10450
已采纳

IOS:修改UISearchBar内部的背景颜色

我知道如何修改和移除UISearchBar的背景颜色

[[self.searchBar.subviews objectAtIndex:0] removeFromSuperview];
self.searchBar.backgroundColor = [UIColor grayColor];

enter image description here

但是不知道怎么修改内部的背景颜色

enter image description here

在IOS4.3及以上版本用的。

  • 写回答

1条回答

  • redCoral_ 2012-12-13 05:24
    关注

    可以改变内部背景图片的代码:

    UITextField *searchField;
    NSUInteger numViews = [searchBar.subviews count];
    for(int i = 0; i < numViews; i++) {
        if([[searchBar.subviews objectAtIndex:i] isKindOfClass:[UITextField class]]) { 
            searchField = [searchBar.subviews objectAtIndex:i];
        }
    }
    if(!(searchField == nil)) {
        searchField.textColor = [UIColor whiteColor];
        [searchField setBackground: [UIImage imageNamed:@"yourImage"]];//在这添加灰色的图片
        [searchField setBorderStyle:UITextBorderStyleNone];
    }
    

    修改UISearchBarIcon的代码:

     UIImageView *searchIcon = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourSearchBarIconImage"]];
    searchIcon.frame = CGRectMake(10, 10, 24, 24);
    [searchBar addSubview:searchIcon];
    [searchIcon release];
    

    在IOS5以上的版本修改searcBar图标

    - (void)setImage:(UIImage *)iconImage forSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题