Ios 如何使用编辑样式将操作指定给RightBarButtonim?

Ios 如何使用编辑样式将操作指定给RightBarButtonim?,ios,xcode,uinavigationcontroller,uibarbuttonitem,uibarbuttonitemstyle,Ios,Xcode,Uinavigationcontroller,Uibarbuttonitem,Uibarbuttonitemstyle,我在导航栏的视图中有一个edit RightBarButtonim。我是在storyboard/IB的帮助下设置的,而不是通过编程。现在,我只想在按下“完成”按钮时指定一个动作(不是编辑) 有没有办法做到这一点?我尝试手动通过-(iAction),但不起作用。此外,我想对UITableView中的选定项执行操作。如果你能给我一个主意,那就太好了 如果您将按钮声明为IBOutlet,则只需在.m上使用合成变量,如下所示: _yourBarButton = [[UIBarButtonItem all

我在导航栏的视图中有一个edit RightBarButtonim。我是在storyboard/IB的帮助下设置的,而不是通过编程。现在,我只想在按下“完成”按钮时指定一个动作(不是编辑)


有没有办法做到这一点?我尝试手动通过
-(iAction)
,但不起作用。此外,我想对UITableView中的选定项执行操作。如果你能给我一个主意,那就太好了

如果您将按钮声明为IBOutlet,则只需在.m上使用合成变量,如下所示:

_yourBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(runMethod)];
self.navigationItem.rightBarButtonItem = _yourBarButton;
然后您必须声明您的run方法:

-(void)runMethod
{
    //do stuff
}

如果将按钮声明为IBOutlet,则只需在.m上使用合成变量,如下所示:

_yourBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(runMethod)];
self.navigationItem.rightBarButtonItem = _yourBarButton;
然后您必须声明您的run方法:

-(void)runMethod
{
    //do stuff
}

该按钮调用该方法

- (void)setEditing:(BOOL)editing animated:(BOOL)animated

您可以实现它,每次点击编辑/完成按钮时,它都会被调用。您所要做的就是检查按钮的title属性,查看它何时显示done和何时显示edit,该按钮调用该方法

- (void)setEditing:(BOOL)editing animated:(BOOL)animated

您可以实现它,每次点击编辑/完成按钮时,它都会被调用。您所要做的就是检查按钮的title属性,查看它何时显示done和何时显示edit

如果我没有声明怎么办?有必要申报吗?我在没有IB0outlet的情况下尝试了类似的代码,但没有效果。不一定。但是你必须在你的声明中写上UIBarButtonItem*yourBarButton。mI也这么做了。但它会创建另一个按钮。我想在“编辑”barbuttonitem变为“完成”时覆盖它。是的,我只是告诉你我会怎么做。我不再使用界面生成器了。只需从界面生成器中删除该按钮,根据此代码创建的按钮就是您将使用的按钮。:)如果没有它,我将无法选择tableview单元格,对吗?这是个问题,如果我没有申报怎么办?有必要申报吗?我在没有IB0outlet的情况下尝试了类似的代码,但没有效果。不一定。但是你必须在你的声明中写上UIBarButtonItem*yourBarButton。mI也这么做了。但它会创建另一个按钮。我想在“编辑”barbuttonitem变为“完成”时覆盖它。是的,我只是告诉你我会怎么做。我不再使用界面生成器了。只需从界面生成器中删除该按钮,根据此代码创建的按钮就是您将使用的按钮。:)如果没有它,我将无法选择tableview单元格,对吗?这是一个问题。我同意这一点,如果有标准代码,也可以使用标准代码。我同意这一点,如果有标准代码,也可以使用标准代码