IOS searchBar去掉背景

   修改UISearchBar的背景颜色
  UISearchBar是由两个subView组成的,一个是UISearchBarBackGround,另一个是UITextField. 要IB中没有直接操作背景的属性。方法是直接将 UISearchBarBackGround移去

  seachBar=[[UISearchBar alloc] init];
  seachBar.backgroundColor=[UIColor clearColor];
  for (UIView *subview in seachBar.subviews)
  {
  if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")])
  {
  [subview removeFromSuperview];
  break;
  }
  }

添加searchBar的背景图片

  searchBar.delegate = self;
  searchBar.barStyle = UIBarStyleBlackTranslucent;
  searchBar.autocorrectionType = UITextAutocorrectionTypeNo;
  searchBar.autocapitalizationType = UITextAutocapitalizationTypeNone;
  searchBar.placeholder = _(@"Search");
  searchBar.keyboardType = UIKeyboardTypeDefault;
  //为UISearchBar添加背景图片
  UIView *segment = [searchBar.subviews objectAtIndex:0];
  UIImageView *bgImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"search_bar_bg.png"]];
  [seachBar addSubview: bgImage];
  [self.view addSubview:searchBar];

关闭键盘

[searchBar  resignFirstResponder];

原文地址:https://www.cnblogs.com/zhangyuqing/p/3525154.html