Czy jest możliwe aby zmienić kolor tekstu w pasku wyszukiwania? I nie wydaje się, aby mieć dostęp do klasy UISearchBarTextField ...Zmień kolor tekstu Pasek wyszukiwania iOS
Odpowiedz
po pierwsze, znaleźć podrzędny w UISearchBar
, następnie znaleźć UITextField
w sub View następnie zmienić kolor
Spróbuj kod: -
for(UIView *subView in searchBar.subviews){
if([subView isKindOfClass:UITextField.class]){
[(UITextField*)subView setTextColor:[UIColor blueColor]];
}
}
dla iOS 5 +
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor blueColor]];
w iOS 5, właściwy sposób to zrobić przy użyciu protokołu wygląd.
Na przykład:
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor blueColor]];
Świetna odpowiedź. Dzięki – Nekto
Można ustawić atrybuty jak tak, to nazywamy to w kontrolerze.
[[UITextField appearanceWhenContainedIn:[self class], nil] setDefaultTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor], NSFontAttributeName:[UIFont systemFontOfSize:14]}];
* pamiętać, że to się zmieni wszystkie UITextFields w kontrolerze
Oryginalny UISearchBar
hierarchia zmieniła się od oryginalnego postu i UITextField
nie jest bezpośrednim subview. Poniższy kod nie zawiera żadnych założeń dotyczących hierarchii UISearchBar
.
Jest to przydatne również wtedy, gdy nie chcesz zmieniać koloru tekstu paska wyszukiwania w całej aplikacji (np. Za pomocą appearanceWhenContainedIn).
/**
* A recursive method which sets all UITextField text color within a view.
* Makes no assumptions about the original view's hierarchy.
*/
+(void) setAllTextFieldsWithin:(UIView*)view toColor:(UIColor*)color
{
for(UIView *subView in view.subviews)
{
if([subView isKindOfClass:UITextField.class])
{
[(UITextField*)subView setTextColor:color];
}
else
{
[self setAllTextFieldsWithin:subView toColor:color];
}
}
}
Zastosowanie:
[MyClass setAllTextFieldsWithin:self.mySearchBar toColor:[UIColor blueColor]];
- 1. Jak zastępczy Zmień kolor tekstu - iOS
- 2. Zmień pasek nawigacyjny kolor dolnej granicy Swift
- 3. pasek wyszukiwania zmienia kolor w pasku nawigacyjnym
- 4. Android TextView: Zmień kolor tekstu po kliknięciu
- 5. Android - PreferenceActivity - Zmień kolor tekstu podsumowania CheckBoxPreference
- 6. Android: Zmień kolor tekstu Tab w FragmentActivity
- 7. Zmień Google Google Picker Appbar Kolor tekstu
- 8. Python | zmień kolor tekstu w powłoce
- 9. Pasek akcji Sherlocka zmienia kolor tekstu
- 10. Pasek narzędziowy iOS Zakres bez wyszukiwania
- 11. Swift - iOS: Zmień kolor paska nawigacyjnego
- 12. iOS Zmień kolor UiButton nie działa
- 13. Zmień tło tekstu UISearchBarField
- 14. Zmień UIBarbuttonItems Kolor
- 15. Zmień kolor UIPicker
- 16. Zmień kolor tekstu menu opcji, gdy używamy aplikacji: showAsAction = "zawsze"
- 17. Zmień kolor wyjściowy Natywny kolor kursora
- 18. Xcode 6 pasek wyszukiwania odcień jasny kolor staje się czarny?
- 19. Pasek stanu IOS7 zmienia kolor na czarny po uruchomieniu wyszukiwania
- 20. BottomNavigationBar - zmień kolor ikony karty
- 21. Zmień kolor tekstu wyjściowego w systemie Windows do stderr
- 22. Swift - Zmień kolor i rozmiar tekstu po dotknięciu UIButton
- 23. Zmień kolor czcionki dla zmiennej jako części tekstu w komórce
- 24. Zmień kolor tekstu na pasku stanu, gdy primaryDark jest biały
- 25. Zmień wejściowego kolor obramowania tekstu bez zmiany jego wysokości
- 26. Zmień kolor tekstu paska stanu z białego iOS 7/Xcode 5
- 27. Zmień kolor półprzezroczystego czarnego UINavigationBar
- 28. pasek wyszukiwania stylu amazoota
- 29. Jak ograniczyć pasek wyszukiwania
- 30. Zmień kolor osi etykiet
Robi to w ten sposób prawdopodobnie będzie działać, ale jest krucha w przypadku, jabłko zdecyduje się grać z hierarchią widoku, proszę zobaczyć moje rozwiązanie poniżej przy użyciu protokołu wygląd. –