2009-08-06 7 views
2

Je veux ajouter des boutons fléchés personnalisés à UINavigation Bar qui vient en haut. Ce que je veux faire est de créer un bouton image personnalisé et placez-le sur la barre. Quand j'ai essayé d'ajouter à la voir comme:Comment ajouter un bouton d'image personnalisée à UINavigationBar dans iPhone sdk

[self.view addSubview:leftArrowButton];//(Where leftArrowButton is a UIButton with an image of arrow) 

Ce travail ne faites pas, comme il place le bouton mais le bouton se hided sous la barre et non se chevauchent sur elle.

Toute aide est appréciée. Merci.

Répondre

7

Essayez de faire ce qui suit:

UINavigationBar *bar = self.navigationController.navigationBar; 
bar.titleView = leftArrowButton; // change title view 
bar.leftBarButtonItem = leftArrowButton; // if ref is UIBarButtonItem 

Vous devriez envisager d'utiliser un UIBarButtonItem plutôt que UIButton.

Vous pouvez également personnaliser les boutons de la barre et des images (en utilisant le initWithImage:style:target:action:):

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithImage:myImage 
          style:UIBarButtonItemStyleBordered 
          target:self action:@selector(buttonPressed:)]; 
bar.leftBarButtonItem = item; 
[item release]; 

Vous pouvez également utiliser une vue que vous aimez (avec une certaine considération pour la taille) à l'aide du initWithCustomView::

Je sais que je peux utiliser barButtonItem, mais je ne peux pas personnaliser le bouton.
UIBarButtonItem *item = [[UIBarButtonItem alloc] 
          initWithCustomView:leftArrowButton]; 
bar.leftBarButtonItem = item; 
[item release]; 
+0

Je veux personnaliser le bouton. – rkb

+0

Message mis à jour pour décrire comment personnaliser 'UIBarButtonItem'. – notnoop

Questions connexes