Ich möchte in der Lage sein, mein eigenes Bild für das kleine Lupensymbol in einer UISearchBar festzulegen. Ich würde es auch gerne bewegen können, wenn es möglich wäre. Irgendwelche Ideen? Derzeit benötige ich nur Unterstützung für iOS5 und höher.Ändern Sie das Lupensymbol auf einer UISearchBar
Antwort
Für Anwendungen, die iOS 5 weiter unterstützt, können Sie das unten stehende Methode, dies zu tun,
- (void)setImage:(UIImage *)iconImage forSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state;
UIControlStateNormal
und UIControlStateDisabled
die beiden möglichen Zustände für Suchleiste sind.
Für Anwendungen, die vorher OS-Version verwenden, wird dies nicht funktionieren. Sie müssen möglicherweise eine Kategorie unter UISearchbar
erstellen und das Symbol ändern, indem Sie die Unteransichten auflisten.
Für andere, die faul sind oder eine weitere Erklärung wünschen (zum Beispiel dass dies eine Methode für die UISearchBar ist): '[self.searchController.searchBar setImage: [UIImake imageNamed: @" YourImageHere "] forSearchBarIcon: UISearchBarIconSearch state: UIControlStateNormal ]; ' oder wo auch immer Sie Ihre Suche Controller/bar haben – gadu
Probieren Sie alle Subviews aus ... iOS unabhängig.
for (id obj in _SearchBar.subviews) {
NSLog(@"%@", obj);
if ([obj isKindOfClass:[UIImage class]]) {
NSLog(@"probably found...");
UIImage *img = obj;
[img setImage....];
}
}
Verwenden
- (void)setImage:(UIImage *)iconImage forSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state;
Wenn Sie wollen einfach nur die Farbe des Symbols Standardvergrößerungs ändern, können Sie ein Bild, das Template-Modus zu verwenden und legen Sie dann die tintColor der Bildansicht.
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##>}];
}
Der imageWithRenderingMode war der Schlüssel. Verpasste es auf den ersten Blick! –
Für Swift: -
UISearchBar.appearance().setImage(UIImage(named: "new_search_icon"), forSearchBarIcon: UISearchBarIcon.Search, state: UIControlState.Normal)
- 1. Wie kann ich die Position ändern oder das Lupensymbol in der UISearchBar in IOS 7 ausblenden?
- 2. UISearchBar ändern Platzhalterfarbe
- 3. Erkennen von UISearchBar Fokus auf das Textfeld
- 4. ändern UISearchBar Löschtaste Text in iOS 8
- 5. UISearchBar/Keyboard Search-Schaltfläche ändern Titel
- 6. UISearchBar benutzerdefinierte
- 7. UISearchBar Animation
- 8. UISearchBar auf UITableView seltsames Offset-Problem
- 9. Ist es möglich, die Ausrichtung eines UISearchBar-Platzhalters zu ändern?
- 10. UISearchBar Vollbild
- 11. UISearchBar Beispielcode
- 12. UISearchBar bleibt aktiv beim Ändern der Ansicht über TabBar
- 13. UISearchBar Implementierung
- 14. UISearchBar klaren Hintergrund Bild
- 15. UITableView scrollt nicht mit einer UISearchBar
- 16. UISearchBar in einer UICollectionView verschwindet mit UISearchDisplayController
- 17. UISearchBar in UINavigationBar kann die Höhe nicht ändern?
- 18. UISearchBar und segues
- 19. iPhone UISearchBar & keyboardAppearance
- 20. UITableView unter UISearchBar auf MasterViewController (UISplitViewController)
- 21. Wollen Sie die Position der Löschtaste des UISearchBar
- 22. iPhone Objective-C Umfang Tasten einer UISearchBar
- 23. Ändern Sie das Chrome-Erweiterungssymbol
- 24. iPhone: UISearchBar So suchen Sie nach "" String?
- 25. Ändern Sie das Ziel einer Verknüpfung von der Eingabeaufforderung
- 26. Ändern Sie das Passwort des "Sandbox Tester" Benutzerkontos auf iTunesConnect
- 27. ändern Sie das aktuelle Arbeitsverzeichnis
- 28. So ändern Sie das Kommentarzeichen
- 29. So implementieren Sie UISearchBar in MonoTouch
- 30. Benutzerdefinierte UISearchBar mit UISearchController
@ACB war so freundlich, das in einem anderen Beitrag zu beantworten, die ich über UISearchBar hatte, wo ich dies als zusätzliche Frage in den Kommentaren gefragt. Er sagte: "Sie können für iOS 5 App wie unten erwähnt verwenden. Für Anwendungen, die OS-Version verwendet, wird dies nicht funktionieren. - (void) setImage: (UIImage *) iconImage forSearchBarIcon: (UISearchBarIcon) Symbolstatus: (UIControlState) Zustand;" –