modern megközelítés
A modern módon, a teljes navigációs vezérlő ... ezt egyszer, amikor a navigációs vezérlő gyökérnézetéhez van betöltve.
[self.navigationController.navigationBar setTitleTextAttributes:
@{NSForegroundColorAttributeName:[UIColor yellowColor]}];
Ez azonban úgy tűnik, nem gyakorol hatást a későbbi megtekintés.
Klasszikus megközelítés
A régi módon, per nézetvezérlőben (ezek állandók az iOS 6, de ha szeretnék csinálni egy nézetvezérlőben az iOS 7 megjelenése akkor szeretnénk ugyanazt a megközelítést, de különböző állandók):
Be kell használni egy UILabela titleViewa navigationItem.
A címkén fel kell:
- Van egy világos háttér színe (
label.backgroundColor = [UIColor clearColor]).
- Félkövér 20pt rendszer font (
label.font = [UIFont boldSystemFontOfSize: 20.0f]).
- Van egy árnyéka fekete 50% alfa (
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5]).
- Azt akarja, hogy a szöveg igazítás középre is (
label.textAlignment = NSTextAlignmentCenter( UITextAlignmentCenterrégebbi SDK).
Állítsa be a címke szövegének színe legyen bármilyen egyedi szín szeretne. Te szeretnél egy színt, amely nem okoz a szöveget, hogy beleolvadjon árnyék, amelyet nehéz lenne olvasni.
Dolgoztam ki ezt a tárgyalás és a hiba, de az értékek kitaláltam végső soron túl egyszerű, hogy ne legyen, amit az Apple felvette. :)
Ha azt szeretnénk, hogy ellenőrizze ezt, vidd ezt a kódot initWithNibName:bundle:az PageThreeViewController.ma Apple NavBar minta . Ez lecseréli a szöveget egy sárga címke. Ezt kell megkülönböztethetetlen az eredeti által gyártott Apple kód, kivéve a színét.
- (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;
}
Edit: Olvassuk Erik B választ az alábbiakban. Saját kód hatását mutatja, de a kód kínál egy egyszerűbb módja annak, hogy csökken ez a helyére egy meglévő nézetvezérlőben.