मौजूदा उत्तरों में कुछ अच्छे विचार हैं, कई अलग तरीके से काम करते हैं और जो आप चुनते हैं वह इस बात पर भी निर्भर करेगा कि आप किन उपकरणों को लक्षित करते हैं और किस तरह का लुक प्राप्त करना चाहते हैं। UITabBarजब यह अपनी उपस्थिति को अनुकूलित करने की बात आती है, तो यह बहुत ही अचूक है, लेकिन यहां कुछ और तरकीबें हैं जो मदद कर सकती हैं:
1)। यदि आप एक अधिक फ्लैट देखो के लिए चमकदार उपरिशायी से छुटकारा पाने के लिए देख रहे हैं:
tabBar.backgroundColor = [UIColor darkGrayColor];
[tabBar.subviews[0] removeFromSuperview];
2)। टैबबार बटन पर कस्टम चित्र सेट करने के लिए कुछ ऐसा करें:
for (UITabBarItem *item in tabBar.items){
[item setFinishedSelectedImage:selected withFinishedUnselectedImage:unselected];
[item setImageInsets:UIEdgeInsetsMake(6, 0, -6, 0)];
}
आपकी पसंद की वस्तुएं कहां selectedऔर कहां unselectedहैं UIImage। यदि आप चाहते हैं कि वे एक सपाट रंग के हों, तो मुझे जो सबसे सरल समाधान मिला है UIViewवह वांछित के साथ बनाना है backgroundColorऔर फिर इसे UIImageक्वार्ट्जकोर की मदद से प्रस्तुत करना है। मैं दृश्य की सामग्री के साथ UIViewप्राप्त करने के लिए एक श्रेणी में निम्न विधि का उपयोग करता हूं UIImage:
- (UIImage *)getImage {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, [[UIScreen mainScreen]scale]);
[[self layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
3) अंत में, आप बटन के शीर्षक की स्टाइल को अनुकूलित करना चाह सकते हैं। करना:
for (UITabBarItem *item in tabBar.items){
[item setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor redColor], UITextAttributeTextColor,
[UIColor whiteColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset,
[UIFont boldSystemFontOfSize:18], UITextAttributeFont,
nil] forState:UIControlStateNormal];
}
यह आपको कुछ समायोजन करने देता है, लेकिन फिर भी काफी सीमित है। विशेष रूप से, आप पाठ को बटन के भीतर रखा गया है, जहां स्वतंत्र रूप से संशोधित नहीं कर सकते, और चयनित / अचयनित बटन के लिए अलग-अलग रंग नहीं हो सकते। यदि आप अधिक विशिष्ट पाठ लेआउट क्या करना चाहते हैं, तो बस सेट UITextAttributeTextColorस्पष्ट हो सकता है और में अपने पाठ को जोड़ने के लिए selectedऔर unselectedभाग (2) से छवियों।