का टेक्स्ट रंग बदलें क्या खोज बार के टेक्स्ट रंग को बदलना संभव है? मैं UISearchBarTextField वर्ग का उपयोग करने कीखोज बार ios
उत्तर
, सबसे पहले, आप UISearchBar
में subview को खोजने लगते हैं नहीं ... तो उप दृश्य में UITextField
पाते हैं तो बदल रंग
इस कोड का प्रयास करें: -
for(UIView *subView in searchBar.subviews){
if([subView isKindOfClass:UITextField.class]){
[(UITextField*)subView setTextColor:[UIColor blueColor]];
}
}
iOS 5 के लिए
+
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor blueColor]];
आईओएस 5, यह करने के लिए सही तरीके से के रूप में उपस्थिति प्रोटोकॉल का उपयोग कर रहा है।
उदाहरण के लिए:
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor blueColor]];
ग्रेट उत्तर। धन्यवाद – Nekto
तुम इतनी जैसी विशेषताओं के सेट कर सकते हैं, अपने नियंत्रक में इस कहते हैं।
[[UITextField appearanceWhenContainedIn:[self class], nil] setDefaultTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor], NSFontAttributeName:[UIFont systemFontOfSize:14]}];
* नोट करें कि यह अपने नियंत्रक
मूल UISearchBar
पदानुक्रम मूल पोस्ट के बाद से बदल गया है और UITextField
अब एक प्रत्यक्ष subview है में सभी UITextFields बदल जाएगा। नीचे दिया गया कोड UISearchBar
पदानुक्रम के बारे में कोई धारणा नहीं करता है।
यह तब भी उपयोगी होता है जब आप संपूर्ण एप्लिकेशन में खोज बार के टेक्स्ट रंग को बदलना नहीं चाहते हैं (यानी 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];
}
}
}
उपयोग:
[MyClass setAllTextFieldsWithin:self.mySearchBar toColor:[UIColor blueColor]];
इस तरह शायद काम करते हैं लेकिन भंगुर है जाएगा में मामला सेब दृश्य पदानुक्रम के साथ खेलने का फैसला करता है यह कर रहा है, कृपया उपस्थिति प्रोटोकॉल का उपयोग कर नीचे मेरी समाधान देखते हैं। –