Définir le titre pour tous les browsers et browsers

[[[UINavigationBar appearance] setTitleView:button] 

J'ai essayé de définir l'affichage du titre comme un button pour tout élément de navigation utilisant la ligne de code ci-dessus mais cela ne fonctionne pas.Comment puis-je définir le titre pour toutes les barres de navigation de mon projet en écrivant un petit code dans appdelegate?

Personnalisation de l'apparence d'une barre de navigation

Il est possible de modifier les propriétés barStyle, tintColor et translucent, mais vous ne devez jamais modifier directement les propriétés de niveau UIView, telles que le cadre, les limites, l'alpha ou les propriétés masquées.

Pour plus de détails, vous pouvez suivre le document apple Référence de la class UINavigationBar

Modifier ->

J'ai résolu votre requête

 [[UINavigationBar appearance] addSubview:yourView]; 

Autre requête liée à la navigation

essayez ce mec …

 //put whatever object in this view..for example button that you want to put... UIView* ctrl = [[UIView alloc] initWithFrame:navController.navigationBar.bounds]; ctrl.backgroundColor = [UIColor yellowColor]; ctrl.autoresizingMask = UIViewAutoresizingFlexibleWidth; [navController.navigationBar addSubview:ctrl]; 

laissez-moi savoir que ça marche ou pas !!!!

Codage heureux !!!

Voici comment créer un controller de navigation dans addDelegate et lui affecter un titre, vous devez append le code suivant à la méthode didFinishLaunchingWithOptions. Notez que vous devez définir une vue racine pour le viewController, qui sera le viewController qui sera affiché dans le navigationController.

  yourViewController *mainVC = [[yourViewController alloc]init]; UINavigationController *navigationController1 = [[UINavigationController alloc] initWithRootViewController:mainVC]; navigationController1.title = @"title"; [window addSubview:navigationController1.view]; 

Si vous utilisez iOS4, vous pouvez replace drawRect

 @implementation UINavigationBar (UINavigationBarCategory) -(void)drawRect:(CGRect)rect { UIImageView *itleImageView = //create object [self addSubView:titleImageView]; //set title view in navigation bar } @end 

iOS 5,

 if ([[UIDevice currentDevice].systemVersion floatValue] >= 5.0) { if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMesortingcs:)]){ UIImageView *itleImageView = //create object [self.navigationController.navigationBar addSubView:titleImageView]; } } 

Je suppose que c'est un droit, car je n'ai pas mis en œuvre.

Je voulais append un logo dans chaque NavigationController, donc j'ai créé une sous-class de UINavigationController et l' UINavigationController utilisée dans le viewDidLoad -Method

 UIImage *logo =[UIImage imageNamed:@"logo"]; CGFloat navWidth = self.navigationBar.frame.size.width; CGFloat navHeight = self.navigationBar.frame.size.height; UIImageView *logoView = [[UIImageView alloc] initWithFrame:CGRectMake(navWidth-logo.size.width - 5, (navHeight - logo.size.height) / 2, logo.size.width, logo.size.height)]; logoView.image = logo; [self.navigationBar addSubview:logoView];