J'ai une application basée sur la navigation simple pour l'iPhone / Objective-C
dans les divers UIViewControlers qui sont poussés à la vue, je peux définir le texte dans la barre de titre à l'aide de quelque chose comme p> Y a-t-il un moyen de contrôler la police merci! p> p>
4 Réponses :
Vous pouvez attribuer n'importe quel UIView à une zone de titre de NavController. P>
Créer un Cela ne fonctionne que sur la vue NAV-NAV. Lorsque l'utilisateur perçoit dans la hiérarchie du contrôleur d'affichage et que le bouton "Retour" est affiché, le titre de TitleView est identifié et l'étiquette de texte régulière est affichée. P> Uilabel CODE> et définissez sa police et sa taille de toute façon que vous souhaitez, puis vous l'attribuez au NaviseTem.TitleView de UIViewController CODE>. Assurez-vous que l'arrière-plan de l'Uilabel est réglé sur ClearColor. P>
Y a-t-il un moyen de définir la taille de la police, etc. pour les barres de titre down i>?
Les documents officiels disent que les Titleweviews de forage sont ignorés (probablement parce qu'ils souhaitent que l'utilisateur voie le texte avant d'apparaître dans le bouton "BACK" du niveau suivant vers le bas.) Mais vous pouvez toujours essayer de remplacer la vue et de numériser de manière récursive le Voir hiérarchie de la barre NAVBAR jusqu'à ce que vous trouviez le bon Uilabel puis définissez la police à ce sujet.
La manière appropriée de redimensionner le texte du titre d'une NAVCONTROLLER consiste à définir la propriété Titleview de la navigationItem
comme ceci (dans ViewDidLoad) P>
UILabel* tlabel=[[UILabel alloc] initWithFrame:CGRectMake(0,0, 300, 40)];
tlabel.text=self.navigationItem.title;
tlabel.textColor=[UIColor whiteColor];
tlabel.backgroundColor =[UIColor clearColor];
tlabel.adjustsFontSizeToFitWidth=YES;
self.navigationItem.titleView=tlabel;
Vous voudrez peut-être embroquer l'étiquette de sorte qu'il n'a pas l'air floue et plat:
Je ne sais pas ce que Fontthelper est, alors j'ai utilisé: label.font = [uifont boldsystemfontoFsize: 18.0]; code> Cela semble assez proche de la police d'origine du titre de la barre de navigation.
@Ginny - Désolé de cela, je n'ai pas remarqué que je suis parti dans un appel à ma propre classe de Fonthelper!
Si vous voulez que cela fonctionne sur iPhone et iPad, et souhaitez également obtenir le titre centré, utilisez le code suivant.
- (void)viewDidLoad
{
[super viewDidLoad];
UILabel* label=[[UILabel alloc] initWithFrame:CGRectMake(0,0, self.navigationItem.titleView.frame.size.width, 40)];
label.text=self.navigationItem.title;
label.textColor=[UIColor whiteColor];
label.backgroundColor =[UIColor clearColor];
label.adjustsFontSizeToFitWidth=YES;
label.font = [AppHelper titleFont];
label.textAlignment = NSTextAlignmentCenter;
self.navigationItem.titleView=label;
}