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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在导航栏中添加右键?相关的知识,希望对你有一定的参考价值。

我有一个问题是在导航栏中添加一个右键..

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

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

那个在B导航栏左侧自动显示一个后退按钮,很不错。但现在我想在视图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]

以上是关于如何在导航栏中添加右键?的主要内容,如果未能解决你的问题,请参考以下文章

如何将片段目标绑定到底部导航栏中的菜单项?

在底部导航栏中保存片段状态

如何在导航栏中添加返回按钮?

如何将管理页面项添加到导航栏中(对于超级用户)? [复制]

如何在导航栏中添加多个栏按钮

如何在导航栏中添加返回按钮箭头功能