Η σύγχρονη προσέγγιση
Ο σύγχρονος τρόπος, για το σύνολο του ελεγκτή πλοήγησης ... να κάνετε αυτό μια φορά, όταν φορτώνεται άποψη ρίζα χειριστήριο πλοήγησης σας.
[self.navigationController.navigationBar setTitleTextAttributes:
@{NSForegroundColorAttributeName:[UIColor yellowColor]}];
Ωστόσο, αυτό δεν φαίνεται να έχει επίδραση σε μεταγενέστερες απόψεις.
Κλασική προσέγγιση
Το παλιό τρόπο, ανά ελεγκτή άποψη (αυτές οι σταθερές είναι για το iOS 6, αλλά αν θέλετε να το κάνετε ανά ελεγκτή άποψη για iOS 7 εμφάνιση που θα θελήσετε την ίδια προσέγγιση αλλά με διαφορετικές σταθερές):
Θα πρέπει να χρησιμοποιήσετε ένα UILabelη titleViewτου navigationItem.
Η ετικέτα πρέπει:
- Έχετε μια σαφή χρώμα του φόντου (
label.backgroundColor = [UIColor clearColor]).
- Χρησιμοποιήστε έντονη γραμματοσειρά 20 pt σύστημα (
label.font = [UIFont boldSystemFontOfSize: 20.0f]).
- Έχουν μια σκιά του μαύρο με 50% άλφα (
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5]).
- Θα θέλετε να ορίσετε τη στοίχιση του κειμένου να επικεντρώνεται καθώς και (
label.textAlignment = NSTextAlignmentCenter( UITextAlignmentCenterγια παλαιότερα SDK).
Ρυθμίστε το χρώμα του κειμένου ετικέτας να είναι ό, τι προσαρμοσμένο χρώμα που θέλετε. Μπορείτε να το κάνετε θέλετε ένα χρώμα που δεν προκαλεί το κείμενο να ταιριάζει με τη σκιά, η οποία θα ήταν δύσκολο να διαβάσει.
Δούλεψα αυτό έξω μέσω της δοκιμής και λάθους, αλλά οι τιμές που ήρθε με τα τελικά πάρα πολύ απλό για αυτούς να μην είναι αυτό που πήρε την Apple. :)
Αν θέλετε να επαληθεύσετε αυτό, πτώση αυτόν τον κώδικα σε initWithNibName:bundle:κατά PageThreeViewController.mτου δείγματος NavBar της Apple . Αυτό θα αντικαταστήσει το κείμενο με μια κίτρινη ετικέτα. Αυτό θα πρέπει να διακρίνεται από την αρχική που παράγεται από τον κωδικό της Apple, εκτός από το χρώμα.
- (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;
}
Επεξεργασία: Επίσης, διαβάστε την απάντηση Erik Β παρακάτω. κωδικό μου δείχνει το αποτέλεσμα, αλλά κώδικα του προσφέρει έναν απλό τρόπο για να μειωθεί αυτό στη θέση του σε μια υπάρχουσα ελεγκτή θέα.