SearchBar的那些事-创新互联

最近项目中要求修改searchbar的风格,查了一些资料,简单总结一下。

为安多等地区用户提供了全套网页设计制作服务,及安多网站建设行业解决方案。主营业务为成都网站建设、成都网站制作、安多网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

1. 修改searchbar背景和其中textfield的背景

mySearchBar.backgroundColor = [UIColor clearColor];

   for (UIView *subview in mySearchBar.subviews) {

       if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {

           [subview removeFromSuperview];

       } else if ([subview isKindOfClass:[UITextField class]]) {

           UITextField *searchField = (UITextField *)subview;

           searchField.textColor = [UIColor whiteColor];

           [searchField setBackground: [UIImage p_w_picpathNamed:@"search_1"]];//在这添加灰色的图片

           [searchField setBorderStyle:UITextBorderStyleNone];

           searchField.layer.cornerRadius = 15;

           searchField.layer.masksToBounds = YES;

           searchField.placeholder = @"搜索";

           searchField.textColor = [UIColor lightGrayColor];

           searchField.layer.borderWidth = 2;

           searchField.layer.borderColor = [UIColor colorWithRed:30/255.0 green:30/255.0 blue:30/255.0 alpha:1].CGColor;

       }

   }

添加一个深灰色的背景图search_1.png,并加入了一个圆角和边框,效果如下:

2.点击搜索框后弹出取消按钮,修改取消按钮风格和搜索框边框颜色,需要实现searchbar的代理方法如下:

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {
   [searchBar setShowsCancelButton:YES animated:YES];
   for(id cc in [searchBar subviews])
   {
       if([cc isKindOfClass:[UIButton class]])
       {
           UIButton *btn = (UIButton *)cc;
           btn.layer.cornerRadius = 15;
           btn.layer.masksToBounds = YES;
           [btn setBackgroundImage:[UIImage p_w_picpathNamed:@"top_button"] forState:UIControlStateNormal];
           [btn setBackgroundImage:[UIImage p_w_picpathNamed:@"top_button-hover"] forState:UIControlStateHighlighted];
           [btn setTitle:@"取消" forState:UIControlStateNormal];
       } else if ([cc isKindOfClass:[UITextField class]]) {
           UITextField *searchField = (UITextField *)cc;
           searchField.layer.borderWidth = 2;
           searchField.layer.borderColor = [UIColor colorWithRed:56/255.0 green:173/255.0 blue:255/255.0 alpha:1].CGColor;
       }
   }
   return YES;
}

运行效果:

SearchBar的那些事

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:SearchBar的那些事-创新互联
网址分享:http://ybzwz.com/article/coiesj.html