Desidero poter impostare la mia immagine per l'icona della lente di ingrandimento su una UISearchBar. Mi piacerebbe anche essere in grado di spostarlo, se possibile. Qualche idea? Al momento, ho solo bisogno di supporto per iOS5 e versioni successive.Modificare l'icona della lente d'ingrandimento su una UisearchBar
risposta
Per le applicazioni che supporta iOS 5 in poi, è possibile utilizzare il seguente metodo per fare questo,
- (void)setImage:(UIImage *)iconImage forSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state;
UIControlStateNormal
e UIControlStateDisabled
sono i due stati possibili per barra di ricerca.
Per le app che utilizzano prima la versione del sistema operativo, questo non funzionerà. Potrebbe essere necessario creare una categoria su UISearchbar
e modificare l'icona enumerando le sottoview.
Per gli altri che sono pigri o vogliono un ulteriore chiarimento (ad esempio che questo è un metodo per UISearchBar): '[self.searchController.searchBar setImage: [UIImage imageNamed: @" YourImageHere "] forSearchBarIcon: UISearchBarIconSearch stato: UIControlStateNormal ]; o in qualsiasi altro punto del controller di ricerca/barra – gadu
prova a stampare tutte le sottoview ... iOS indipendente.
for (id obj in _SearchBar.subviews) {
NSLog(@"%@", obj);
if ([obj isKindOfClass:[UIImage class]]) {
NSLog(@"probably found...");
UIImage *img = obj;
[img setImage....];
}
}
Usa
- (void)setImage:(UIImage *)iconImage forSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state;
Se si desidera modificare solo il colore dell'icona di default di ingrandimento, è possibile impostare l'immagine per utilizzare la modalità modello e quindi impostare tintColor della visualizzazione dell'immagine.
if ([view isKindOfClass:[UITextField class]]) {
UITextField *textField = (id)view;
UIImageView *iconView = (id)textField.leftView;
iconView.image = [iconView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
iconView.tintColor = <##dimmedColor##>;
// other styling:
textField.font = <##font##>;
textField.textColor = <##activeColor##>;
textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:<##searchBar##>.placeholder
attributes:@{NSForegroundColorAttributeName: <##dimmedColor##>}];
}
ImageWithRenderingMode era la chiave. Mi è mancato a prima vista! –
Per Swift: -
UISearchBar.appearance().setImage(UIImage(named: "new_search_icon"), forSearchBarIcon: UISearchBarIcon.Search, state: UIControlState.Normal)
- 1. Prestazioni lente su Azure DocumentDB
- 2. Richieste lente occasionali su Heroku
- 3. È possibile modificare l'allineamento di un segnaposto di UISearchBar?
- 4. UISearchBar su UITableView strano problema di offset
- 5. Altezza UISearchBar su iOS8 quando showsScopeBar = YES
- 6. Qual è lo scopo della lente unita?
- 7. query lente su "UNION ALL" vista
- 8. Colore testo UISearchBar
- 9. L'ottimizzazione prematura si sviluppa su macchine lente?
- 10. iPhone UISearchBar & keyboardAppearance
- 11. Disabilita UISearchBar
- 12. Usando una lente per leggere più campi
- 13. Hadoop Hive query lente
- 14. UISearchBar in UITableViewHeader strana animazione su iOS 7/8
- 15. Sottoview UISearchBar di UITableViewHeader?
- 16. UISearchBar Non visualizzato
- 17. UISearchBar seleziona tutto il testo
- 18. MongoDB cancellazioni molto lente
- 19. Rallentamento della tastiera con UISearchBar, senza dimissioni Primo soccorritore
- 20. AMP C++ con GPU veloci più lente della CPU
- 21. Come modificare SRID della colonna della geometria?
- 22. Qual è il modello di distorsione della lente Project Tango?
- 23. Cambia UISearchBar/Keyboard Search Button Titolo
- 24. Pulsante Annulla UISearchBar
- 25. Come modificare una gemma su Heroku
- 26. Perché UISearchBar ei relativi pulsanti di ambito sono visualizzati su una riga?
- 27. classi cython molto lente?
- 28. Custom UISearchBar con UISearchController
- 29. Prestazioni lente WPF su grafica integrata GMA 500
- 30. UISearchBar angoli personalizzati
@ACB stato così gentile da rispondere a questa in un altro post ho avuto circa UISearchBar in cui ho chiesto a questo come una questione aggiunto nei commenti. Ha detto: "È possibile utilizzare per l'app iOS 5 come indicato di seguito.Per le app che utilizzano la versione del sistema operativo precedente, questo non funzionerà. ((Void) setImage: (UIImage *) iconImage forSearchBarIcon: (UISearchBarIcon) stato icona: (UIControlState) stato;" –