2009-08-06 2 views
2

Ich möchte benutzerdefinierte Pfeilschaltflächen zu UINavigation Bar, die an der Spitze kommt.Wie Sie eine benutzerdefinierte Bildschaltfläche zu UINavigationBar in iPhone hinzufügen sdk

Ich möchte eine benutzerdefinierte Bildschaltfläche erstellen und über die Leiste platzieren. Als ich versuchte, das Hinzufügen wie zu lesen:

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

nicht dieses Werk, wie es auf den Button platziert, aber Taste wird unter der Stange ausgeblendete und nicht auf sie überlappen.

Jede Hilfe wird geschätzt. Vielen Dank.

Antwort

7

Versuchen Sie wie folgt vorgehen:

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

Sie sollten mit einem UIBarButtonItem anstatt UIButton betrachten.

Sie können auch die Leistenschaltflächen anpassen und mit Bildern (mit dem initWithImage:style:target:action:):

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

Sie können auch jede Ansicht verwenden Sie (mit einer gewissen Rücksicht auf die Größe) wie mit dem initWithCustomView::

UIBarButtonItem *item = [[UIBarButtonItem alloc] 
          initWithCustomView:leftArrowButton]; 
bar.leftBarButtonItem = item; 
[item release]; 
+0

Ich weiß, ich kann barButtonItem verwenden, aber dann kann ich die Schaltfläche nicht anpassen. Ich möchte den Button anpassen. – rkb

+0

Aktualisierter Beitrag, um zu beschreiben, wie 'UIBarButtonItem' angepasst wird. – notnoop

Verwandte Themen