Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add right button in the navigation bar?

I have a question to add a right button in navigation bar..

I have two views: View A and View B

I add a navigation bar to view A, after I used self.navigationController!.pushViewController to show view B.

That show a back button in the left of navigation bar of view B automatic, it is good. but now I want to add a button in the right of navigation bar of view B.. I have tried some answers, but it doesn't work... I have tried answers likes : 1) https://www.hackingwithswift.com/example-code/uikit/how-to-add-a-bar-button-to-a-navigation-bar 2)http://blog.apoorvmote.com/add-multiple-bar-button-item-navigation-bar/?lang=fr

Could you help me, thank you !

like image 467
user2262304 Avatar asked Apr 18 '16 12:04

user2262304


People also ask

How do I add a button to my navigation bar?

Example ExplainedUse any element to open the dropdown menu, e.g. a <button>, <a> or <p> element. Use a container element (like <div>) to create the dropdown menu and add the dropdown links inside it. Wrap a <div> element around the button and the <div> to position the dropdown menu correctly with CSS.

Which buttons are available in navigation bar?

The classic Navigation bar has the Recents, Home, and Back buttons at the bottom of your screen. It is the default navigation method on all Galaxy phones and tablets.


1 Answers

The Swift version of Vahan Babayan's answer, as you seem to use this language, is:

let rightButtonItem = UIBarButtonItem.init(
      title: "Title", 
      style: .Done, 
      target: self, 
      action: "rightButtonAction:"
)

self.navigationItem.rightBarButtonItem = rightButtonItem

The following method will be called on self:

func rightButtonAction(sender: UIBarButtonItem)

Note that all this can be set graphically using a Storyboard, by dragging a Bar Button Item to your Navigation Item and right-clicking to set a target-action.


A small update since Swift 3 and 4 are out: the compiler can now check selector names, preventing typos when setting up target-action programatically. So one should really use:

let rightButtonItem = UIBarButtonItem.init(
      title: "Title", 
      style: .Done, 
      target: self, 
      action: #selector(rightButtonAction(sender:))
)
like image 144
Jean-Baptiste Avatar answered Sep 19 '22 14:09

Jean-Baptiste