Quiero personalizar la barra de búsqueda, me refiero a la caja blanca. ¿Puedo hacerlo? ¿Hay alguna documentación sobre eso? ¿Hay alguna manera de ocultar la caja blanca, pero no las letras? ¿Al menos puedo hacer que la caja sea más pequeña? Me refiero a menor alturaCómo personalizar la apariencia de UISearchBar
38
A
Respuesta
56
By IOS 5.0 que tienen la oportunidad de utilizar
[[UISearchBar appearance] setSearchFieldBackgroundImage:[UIImage imageNamed:@"searchbar.png"]forState:UIControlStateNormal];
7
Se podría cambiar el fondo de UISearchBar
29
Aquí está la solución que estaba buscando: subclases de una UISearchBar, & sobrescribir los layoutSubviews método
- (void)layoutSubviews {
UITextField *searchField;
NSUInteger numViews = [self.subviews count];
for(int i = 0; i < numViews; i++) {
if([[self.subviews objectAtIndex:i] isKindOfClass:[UITextField class]]) { //conform?
searchField = [self.subviews objectAtIndex:i];
}
}
if(!(searchField == nil)) {
searchField.textColor = [UIColor whiteColor];
[searchField setBackground: [UIImage imageNamed:@"buscador.png"] ];
[searchField setBorderStyle:UITextBorderStyleNone];
}
[super layoutSubviews];
}
+0
@Jhaliya, ¿Dónde debo poner esta parte del código para obtener fondo personalizado para la barra de búsqueda? – chatur
1
Todavía no pocos intentos por ahí, incluyendo subclase UISearchBar y piratear es layoutSubviews
o drawLayer:
. Después de iOS 5, el mejor método es usar UIAppearance.
// Configure your images
UIImage *backgroundImage = [UIImage imageNamed:@"searchbar"];
UIImage *searchFieldImage = [[UIImage imageNamed:@"searchfield"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)];
// Set it to your UISearchBar appearance
[[UISearchBar appearance] setBackgroundImage:backgroundImage];
[[UISearchBar appearance] setSearchFieldBackgroundImage:searchFieldImage forState:UIControlStateNormal];
1
usar el siguiente código a transparente su barra de búsqueda
// Set it to your UISearchBar appearance
[[UISearchBar appearance] setBackgroundColor:[UIColor clearColor]];
[[UISearchBar appearance] setBackgroundImage:backgroundImage];
[[UISearchBar appearance] setSearchFieldBackgroundImage:searchFieldImage
forState:UIControlStateNormal];
14
// Search Bar Customization
// Background Image
[self.searchDisplayController.searchBar setBackgroundImage:[[UIImage alloc]init]];
// Backgroud Color
[self.searchDisplayController.searchBar setBackgroundColor:[UIColor redColor]];
// Search Bar Cancel Button Color
[[UIBarButtonItem appearanceWhenContainedIn: [UISearchBar class], nil] setTintColor:[UIColor whiteColor]];
// set Search Bar Search icon
[self.searchDisplayController.searchBar setImage:[UIImage imageNamed:@"search_ico.png"]
forSearchBarIcon:UISearchBarIconSearch
state:UIControlStateNormal];
// set Search Bar textfield background image
[[UISearchBar appearance] setSearchFieldBackgroundImage:[UIImage imageNamed:@"search_box.png"]
forState:UIControlStateNormal];
// set Search Bar texfield corder radius
UITextField *txfSearchField = [self.searchDisplayController.searchBar valueForKey:@"_searchField"];
txfSearchField.layer.cornerRadius = 10.8f;
8
0
Algunos ejemplos de Swift
UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).defaultTextAttributes = [NSForegroundColorAttributeName : UIColor.whiteColor()]
UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).attributedPlaceholder = NSAttributedString(string: "", attributes: [NSForegroundColorAttributeName : UIColor.whiteColor()])
UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).tintColor = UIColor.whiteColor()
UISearchBar.appearance().setImage(UIImage(named: "searchBarSearchIcon"), forSearchBarIcon: UISearchBarIcon.Search, state: UIControlState.Normal)
UISearchBar.appearance().setImage(UIImage(), forSearchBarIcon: UISearchBarIcon.Clear, state: UIControlState.Normal)
Cuestiones relacionadas
- 1. Cómo personalizar la apariencia de UIPrintInteractionController
- 2. personalizar la apariencia de un <Key>
- 3. ¿Cómo personalizaría la apariencia de la ventana emergente del folleto?
- 4. Personalizar UISearchDisplayController
- 5. eclipse apariencia y sensación de personalización
- 6. Cambiar la apariencia de Eclipse
- 7. ¿Cómo personalizar la salida Zend_Tool?
- 8. Deshabilitar UISearchBar
- 9. UISearchBar Animation
- 10. deslizamiento UISearchBar
- 11. IOS - Personalización del botón Cancelar UISearchBar
- 12. ¿Es posible personalizar el aspecto y la sensación de jqgrid?
- 13. ¿Cómo buscar MKMapView con UISearchBar?
- 14. UISearchBar en la barra de navegación
- 15. Cómo probar la apariencia de un mensaje de Toast
- 16. iPhone: UISearchBar cómo buscar "" Cadena?
- 17. UISearchBar no muestra la barra de ámbito
- 18. Cómo implementar UISearchBar en MonoTouch
- 19. puedo cambiar la apariencia de clickablespan
- 20. Cambiar la apariencia de las pestañas SWT
- 21. ¿Cómo personalizar la url de Jekyll?
- 22. ¿Cómo personalizar la LockScreen de Android?
- 23. Cómo personalizar la visualización de dired
- 24. Cómo personalizar la serialización XML de WCF
- 25. ¿Cómo puedo personalizar la salida de Jenkins?
- 26. ¿Cómo mejorar la apariencia de JAVA swing GUI?
- 27. ¿Cómo establecer la apariencia de un UIButton sin afectar a UIBarButtonItems?
- 28. apariencia de UIBarButtonItem y setBackButtonBackgroundImage
- 29. cómo cambiar UISearchBar de ronda a rectángulo?
- 30. Agregar botón a la izquierda de UISearchBar
¿Podemos cambiar su altura? –
Asignar una imagen de fondo con la altura deseada, debería cambiarla –
Gracias @Ilker Baltaci, ya probé, se mantiene a la altura original –