moderní přístup
Moderní způsob, pro celý navigační řadič ... to jednou, když je načten kořenový pohled vašeho navigačního regulátoru.
[self.navigationController.navigationBar setTitleTextAttributes:
@{NSForegroundColorAttributeName:[UIColor yellowColor]}];
Nicméně, toto se nezdá mít vliv na následné zobrazení.
klasický přístup
Postaru, na kontroleru pohledu (tyto konstanty jsou pro iOS 6, ale pokud chcete, aby to za kontroleru pohledu na iOS 7 vzhled budete chtít stejný přístup, ale s různými konstantami):
Musíte použít UILabeljak titleViewtoho navigationItem.
Štítek by měl:
- Mají jasnou barvu pozadí (
label.backgroundColor = [UIColor clearColor]).
- Tučný 20 b systémové písmo (
label.font = [UIFont boldSystemFontOfSize: 20.0f]).
- Mají stín černého s 50% alfa (
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5]).
- Budete chtít nastavit zarovnání textu, aby se soustředil také (
label.textAlignment = NSTextAlignmentCenter( UITextAlignmentCenterpro starší sady SDK).
Nastavit text pro popis barvy, aby bez ohledu na vlastní barvu byste chtěli. Vy chcete barvu, která nezpůsobuje text splynout do stínu, který by byl obtížně čitelný.
Pracoval jsem na to metodou pokusu a omylu, ale hodnoty jsem přišel v konečném důsledku příliš jednoduché pro ně nemusí být to, co Apple vybral. :)
Chcete-li to ověřit, zahodit tento kód do initWithNibName:bundle:inu PageThreeViewController.mz Apple NavBar vzorku . To nahradí text se žlutou značkou. To by mělo být k nerozeznání od originálu vyrobeného Apple kódu, s výjimkou barvy.
- (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: Také četl Erik B je odpověď níže. Můj kód ukazuje vliv, ale jeho kód a nabízí jednodušší způsob, jak k poklesu této své místo na existujícím kontroleru pohledu.