è possibile modificare la UISearchBar
sfondo utilizzando questo codice muggito ..
for (UIView *subview in searchBar.subviews) {
if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {
UIView *bg = [[UIView alloc] initWithFrame:subview.frame];
bg.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"SkyBackground.jpeg"]];
[searchBar insertSubview:bg aboveSubview:subview];
[subview removeFromSuperview];
break;
}
}
Da questo codice è possibile impostare un'immagine o qualsiasi altra cosa per lo sfondo del UISearchBar
.
veda anche il mio questa risposta con qualche altra funzionalità per modificare il layout dei componenti searchbar .. How to change inside background color of UISearchBar component on iOS
UPDATE:
per il cambiamento il pulsante Annulla aspetto utilizzare questo codice muggito ...
UIButton *cancelButton = nil;
for(UIView *subView in searchBar.subviews)
{
if([subView isKindOfClass:[UIButton class]])
{
cancelButton = (UIButton*)subView;
//do something here with this cancel Button
}
}
fonte
2013-01-03 07:07:18
cambia la dimensione del fondo, ma campo di testo e e la lente di ingrandimento e pulsante di annullamento sono ancora lì. Ecco perché volevo che un campo di testo personalizzato si comportasse come UiseachBar – Nil
impostando tutto lo sfondo chiaro e non fosse possibile visualizzare il pulsante Annulla .. significa abilitato = NO –
proprio come [searchBar setShowsCancelButton: NO]; usa questa linea per nascondere il pulsante cancella e fai semplicemente qualcosa con questo codice otterrai l'output che vuoi ,,, vedi anche la mia risposta che pubblico il link sopra .. puoi ottenere qualcosa da quello .. spero che ti sia stato d'aiuto. . :) –