如何修改系统UISearchBar的样式-创新互联

   自从接触iOS快一年多的时间了,感觉自己还是菜鸟一枚,最近在整理自己的开发过程中得点点滴滴,想通过博客的形式记录下来。本博客会陆续添加内容,鉴于本人水平有限,如有错误,请给与指正,感激不尽。

“真诚服务,让网络创造价值”是我们的服务理念,创新互联公司团队十年如一日始终坚持在网站建设领域,为客户提供优质服。不管你处于什么行业,助你轻松跨入“互联网+”时代,PC网站+手机网站+公众号+小程序设计

       修改UISearchBar的样式,网上也有很多种,也都大同小异,本篇也不例外,但确实很实用,废话不多说,上代码:

       1.UISearchBar带有背景颜色的

        if (!_searchBar) {
       _searchBar=[[UISearchBar alloc]initWithFrame:CGRectMake(10, 20, self.view.frame.size.width-20, 40)];
       _searchBar.placeholder=@"搜索";
       _searchBar.delegate=self;
       //searchBar的背景颜色
       //1.
       [_searchBar setBackgroundColor:[UIColor orangeColor]];
       //2.关键
       [[[_searchBar.subviews objectAtIndex:0].subviews objectAtIndex:0] removeFromSuperview];

       //显示取消按钮
       _searchBar.showsCancelButton=YES;

       UIButton *cancelBtn=[_searchBar valueForKey:@"_cancelButton"];
       [cancelBtn setTitle:@"取消" forState:UIControlStateNormal];
       cancelBtn.titleLabel.font=[UIFont systemFontOfSize:14];
       [cancelBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

       //设置光标的颜色
       _searchBar.tintColor=[UIColor redColor];

       UITextField *searchFiled=[_searchBar valueForKey:@"_searchField"];
       //设置处于编辑状态
       [searchFiled becomeFirstResponder];

       //输入文本的颜色
       searchFiled.textColor=[UIColor greenColor];

       //输入文本字体的大小
       searchFiled.font=[UIFont systemFontOfSize:14];

       //输入框的圆角设置
       searchFiled.layer.cornerRadius=10;
       searchFiled.layer.masksToBounds=YES;

       //输入框里面的背景颜色
       searchFiled.backgroundColor=[UIColor whiteColor];

       //提示文本的颜色
       [searchFiled setValue:[UIColor lightGrayColor] forKeyPath:@"_placeholderLabel.textColor"];

       self.cancelField=searchFiled;

       //输入框里的图标
       [_searchBar setImage:[UIImage p_w_picpathNamed:@"boy.jpg"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];

     [self.view addSubview:_searchBar]

     2.UISearchBar不带背景颜色的

      //   如果不要searchBar的背景颜色
//   1.关键
   [_searchBar setBackgroundColor:[UIColor clearColor]];
   [[[_searchBar.subviews objectAtIndex:0].subviews objectAtIndex:0] removeFromSuperview];
//   2.
   UIView *searchView=[[UIView alloc]initWithFrame:CGRectMake(10, 20, self.view.frame.size.width-20, 40)];
   searchView.layer.cornerRadius=10;
   searchView.layer.borderColor=[UIColor orangeColor].CGColor;
   searchView.layer.borderWidth=1.f;
   [self.view addSubview:searchView];
   [self.view addSubview:_searchBar];

#pragram--

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
   NSLog(@"实时监控文字输入");
}

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
   NSLog(@"点击搜索按钮");
}

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
   NSLog(@"点击取消按钮");
   [self.cancelField resignFirstResponder];
}

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


当前名称:如何修改系统UISearchBar的样式-创新互联
分享URL:http://pwwzsj.com/article/epjgh.html