抓取了一个 UIBarButtonItem 的动作

Posted

技术标签:

【中文标题】抓取了一个 UIBarButtonItem 的动作【英文标题】:Grabbed the action of a UIBarButtonItem 【发布时间】:2013-10-08 06:02:34 【问题描述】:

我的导航栏中有这样的代码:

UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStylePlain target:self action:@selector(self)];

self.navigationItem.rightBarButtonItem = myButton;

当它被实际按下时,下一步要抓住什么?

【问题讨论】:

【参考方案1】:

你在这里设置@selector(self)是个错误。

你需要把你需要触发的实际函数放在这里:

UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStylePlain target:self action:@selector(doSomeThing)];

当然还有:

- (void) doSomeThing


【讨论】:

哦,这么简单的错误,谢谢,我会在准备好后将其标记为正确【参考方案2】:

这样做

   UIBarButtonItem *Button=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(myAction:)];
   self.navigationItem.leftBarButtonItem=Button;


 - (void)myAction:(id)sender
    
        //do ur actions 
    

【讨论】:

以上是关于抓取了一个 UIBarButtonItem 的动作的主要内容,如果未能解决你的问题,请参考以下文章

IOS swift UIBarButtonItem 动作

UIToolBar 上的 UIBarbuttonItem 的动作没有被调用

如何在 Swift 中为 UIBarButtonItem 设置动作

UIBarButtonItem 仅在按下足够长的时间时才会触发动作

UIBarbuttonItem 没有调用动作方法

如何防止在 UINavigationbar 上同时触摸按钮的双重动作?