आधुनिक दृष्टिकोण
आधुनिक तरीका है, पूरे नेविगेशन नियंत्रक के लिए ... इस बार जब आपके नेविगेशन नियंत्रक के रूट दृश्य भरी हुई है करते हैं,।
[self.navigationController.navigationBar setTitleTextAttributes:
@{NSForegroundColorAttributeName:[UIColor yellowColor]}];
बहरहाल, यह बाद के दृश्यों में एक प्रभाव है प्रतीत नहीं होता।
क्लासिक दृष्टिकोण
पुराने तरीके से, दृश्य नियंत्रक प्रति (इन स्थिरांक iOS 6 के लिए कर रहे हैं, लेकिन अगर iOS 7 उपस्थिति पर दृश्य नियंत्रक प्रति यह क्या करना चाहते हैं आप, लेकिन विभिन्न स्थिरांक के साथ एक ही दृष्टिकोण चाहता हूँ):
आप एक उपयोग करने की आवश्यकता UILabelके रूप में titleViewकी navigationItem।
लेबल करना चाहिए:
- एक स्पष्ट पृष्ठभूमि रंग है (
label.backgroundColor = [UIColor clearColor])।
- बोल्ड 20pt सिस्टम फ़ॉन्ट का उपयोग करें (
label.font = [UIFont boldSystemFontOfSize: 20.0f])।
- 50% अल्फा के साथ काले रंग की छाया है (
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5])।
- आप पाठ संरेखण के साथ-केंद्रित करने के लिए सेट कर सकते हैं (
label.textAlignment = NSTextAlignmentCenter( UITextAlignmentCenterपुराने SDK का)।
लेबल पाठ रंग सेट होने के लिए जो कुछ भी कस्टम रंग आप चाहते हैं। तुम एक रंग है कि पाठ छाया है, जो पढ़ने के लिए मुश्किल होगा में मिश्रण करने का कारण नहीं है चाहते हैं।
मैं परीक्षण और त्रुटि के माध्यम से इस पर काम किया है, लेकिन मूल्यों मैं उन्हें क्या एप्पल नहीं उठाया होने के लिए अंत में भी आसान है के साथ आया था। :)
आप इस की पुष्टि करना चाहते हैं, इस कोड ड्रॉप initWithNibName:bundle:में PageThreeViewController.mकी एप्पल के NavBar नमूना । यह एक पीले रंग की लेबल के साथ पाठ की जगह लेगा। यह मूल रंग के अलावा, एप्पल के कोड द्वारा उत्पादित से पृथक किया जाना चाहिए।
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
{
// this will appear as the title in the navigation bar
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:20.0];
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
label.textAlignment = NSTextAlignmentCenter;
// ^-Use UITextAlignmentCenter for older SDKs.
label.textColor = [UIColor yellowColor]; // change this color
self.navigationItem.titleView = label;
label.text = NSLocalizedString(@"PageThreeTitle", @"");
[label sizeToFit];
}
return self;
}
संपादित करें: इसके अलावा, नीचे एरिक बी के जवाब पढ़ें। मेरे कोड प्रभाव को दर्शाता है, लेकिन उनके कोड किसी मौजूदा दृश्य नियंत्रक पर जगह में इस ड्रॉप का एक सरल तरीका प्रदान करता है।