Eliminar la sombra interna de UISearchBar

¿Cómo puedo eliminar la sombra interna de UISearchBar?

He intentado [[searchBar layer]setShadowOpacity:0] pero eso no parecía hacer nada.

  1. Cree una image de background que tenga el aspecto que desee. Por ejemplo, haga clic aquí para ver las dos imágenes estirables con tapas finales que usé.

  2. Utilice la siguiente api:

     [self.searchBar setSearchFieldBackgroundImage:[UIImage imageNamed:@"search_field.png"] forState:UIControlStateNormal]; 
  UITextField *textField = nil; for( UIView *subview in searchBar.subviews ) { if ([subview isKindOfClass:[UITextField class]]) { textField = (UITextField *)subview; textField.borderStyle = UITextBorderStyleNone; textField.layer.borderWidth = 1.f; textField.layer.borderColor = [UIColor lightGrayColor].CGColor; textField.layer.cornerRadius = 14.0f; textField.background = nil; textField.backgroundColor = [UIColor whiteColor]; } } 

Usar este código podría eliminar la sombra interna de UISearchBar.

  for( UIView *subview in searchBar.subviews ) { if( [subview isKindOfClass:NSClassFromString( @"UISearchBarBackground" )] ) { // you can set the textField backgroundColor clearColor like below. // [subview setAlpha:0.0f]; // break; // or you can set textField backgroundColor solid color like below UIView *aView = [[UIView alloc] initWithFrame:subview.bounds]; aView.backgroundColor = [UIColor greenColor]; [subview addSubview:aView]; break; } }