如何以编程方式触发uibarbuttonitem的动作?

时间:2012-06-28 09:14:50

标签: ios action uibarbuttonitem

  

可能重复:
  How to fire uibarbuttonitem click event programmatically

我动态创建了uibarbuttonitem并且它正常运行。我想以编程方式触发uibarbutton项操作(单击)进行单元测试。

即使代码在应用程序代码(而不是测试代码)中记录bar按钮项的操作时工作正常,它也会为null。我使用的代码如下所示。

NSLog(@"%@",NSStringFromSelector(barButton.action)); 

在测试代码中,我创建了一个名为logout的bar按钮,并为其指定了barbutton。以编程方式单击条形按钮项我遵循以下代码。

[logout.target performSelector:logout.action];

但它没有用。我记录了注销按钮的操作,它也给出了null。

NSLog(@"%@",logout.action);

我想知道如何以编程方式点击动态创建的uibarbuttonitem

1 个答案:

答案 0 :(得分:6)

此代码与我合作

//in viewDidLoad
item = [[UIBarButtonItem alloc] initWithTitle:@"test" style:UIBarButtonItemStyleDone target:self action:@selector(logout)];    
toolBar.items = [NSArray arrayWithObject:item];

//In viewWillAppear
[item.target performSelector:item.action];

- (void) logout
{
    NSLog(@"Called");
}

我不知道你的意思是点击,但上面的工作