UISearchBar en una UIView mostrando un borde blanco y no aplicando correctamente clearColor para tintColor y barTintColor

Tengo una UITableView y una UISearchBar incrustada dentro de una UIView . El searchBar está posicionado en la parte superior e bash lograr algo que parece ser bastante sencillo; Estoy tratando de hacer que el UISearchBar sea ​​transparente y tome el color del background.

Aquí hay una image de ejemplo.

introduzca la descripción de la imagen aquí

He intentado bastantes cosas sin éxito.

Configuré la barra de tinta y el tintColor para borrar:

 self.nameAddSearchBar.barTintColor = [UIColor clearColor]; self.nameAddSearchBar.tintColor = [UIColor clearColor]; 

He intentado configurar el barMetrics:

 [self.nameAddSearchBar setBackgroundImage:[UIImage imageNamed:@"Transparent.png"] forBarPosition:0 barMetrics:UIBarMetricsDefault]; 

Lo intenté

 self.nameAddSearchBar.backgroundImage = [UIImage imageNamed:@"Transparent.png"]; 

Pero ninguno de estos está funcionando. Puedo agregar una image NavBar específica que tengo:

 self.nameAddSearchBar.backgroundImage = [UIImage imageNamed:@"GreenNav.png"]; 

Eso funciona a la perfección, pero se ve extraño debido a la ruptura de la image. Por lo tanto, solo quiero que UISearchBar sea un color claro para que el color de background funcione a través de él.

El UISearchBar se crea en el guión gráfico y tengo activado Translucent. Tengo el tinte de barra, el background y el tinte configurados en Color claro, pero en todos los casos, siempre está en el borde blanco de la image.

Cualquier orientación sobre esto sería muy apreciada.

introduzca la descripción de la imagen aquí testing así,

  self.searchBar.backgroundColor = [UIColor clearColor]; self.searchBar.searchBarStyle = UIBarStyleBlackTranslucent; self.searchBar.placeholder = @"Search..."; self.searchBar.layer.cornerRadius = 15; self.searchBar.layer.backgroundColor = [UIColor clearColor].CGColor; self.searchBar.layer.borderWidth=8; [[NSClassFromString(@"UISearchBarTextField") appearanceWhenContainedIn:[UISearchBar class], nil] setBorderStyle:UITextBorderStyleNone]; self.searchBar.layer.borderColor=[UIColor clearColor].CGColor; 

Espero que eso te ayude.

 self.searchBar.searchBarStyle = UISearchBarStyleMinimal; 

o

 [searchBar setBackgroundImage:[UIImage new]]; [searchBar setTranslucent:YES]; 

revisalo,,

  self.navigationController.navigationBar.translucent = NO; // If you have a navBar self.searchDisplayController.searchBar.translucent = NO; 
 [self.mySearchBar setBackgroundImage:[[UIImage alloc] init]]; 

Espero que esto funcione para usted.

He empaquetado una extensión muy simple e ingeniosa para Swift 3 que extienda el UISearchBar para que sea translúcido. Implica el uso de dos extensiones muy simples.

Puede downloadlo desde este repository github .

    Intereting Posts