如何在导航栏中添加右键?

我有一个问题要在导航栏中添加一个右键。

我有两个视图:视图A和视图B.

在我使用self.navigationController!.pushViewController来显示视图B之后,我添加了一个导航栏来查看A.

那个在导航栏左侧自动显示一个后退按钮,很不错。 但现在我想在视图B的导航栏右侧添加一个按钮..我已经尝试了一些答案,但它不起作用…我尝试过的答案如下: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

你能帮帮我吗,谢谢!

当你似乎使用这种语言时,Vahan Babayan的答案的Swift版本是:

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

将在self上调用以下方法:

 func rightButtonAction(sender: UIBarButtonItem) 

请注意,所有这些都可以使用故事板图形方式设置 ,方法是将条形按钮项拖动到导航项并右键单击以设置目标操作。


自Swift 3和4以来的一个小更新:编译器现在可以检查选择器名称,以编程方式设置目标操作时防止打字错误。 所以应该真正使用:

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

您可以将以下代码添加到B控制器的viewDidLoad方法中。

 UIBarButtonItem *rightButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Title" style:UIBarButtonItemStyleDone target:self action:@selector(rightButtonAction:)]; self.navigationItem.rightBarButtonItem = rightButtonItem; 
 - (void)viewDidLoad { [super viewDidLoad]; UIBarButtonItem *rightBtn = [[UIBarButtonItem alloc]initWithTitle:@"Right Button" style:UIBarButtonItemStyleDone target:self action:@selector(rightBtnClick)]; self.navigationItem.rightBarButtonItem = rightBtn; } -(void)rightBtnClick{ // code for right Button } 

在viewDidLoad方法中添加以下代码

 UIBarButtonItem *flipButton = [[UIBarButtonItem alloc] initWithTitle:@"Flip" style:UIBarButtonItemStyleBordered target:self action:@selector(flipView:)]; self.navigationItem.rightBarButtonItem = flipButton; 

这会在右侧添加一个按钮,标题为Flip,调用方法:

 -(IBAction)flipView 

Swift代码添加导航栏按钮项:

方法1 (当你想使用条形按钮系统项目时)

 navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addTapped)) 

方法2 (当你想给自己的标题按钮时)

 navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Add", style: .plain, target: self, action: #selector(addTapped)) 

从iOS 5开始,它允许您在导航栏的两侧添加多个按钮。 像这样的东西:

 let add = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addTapped)) let display = UIBarButtonItem(title: "Display", style: .plain, target: self, action: #selector(playTapped)) navigationItem.rightBarButtonItems = [add, display]