4

可能重复:
如何以编程方式触发 uibarbuttonitem 点击事件

我已经动态创建了一个uibarbuttonitem并且它可以正常工作。我想以uibarbutton编程方式触发该项目操作(单击)以进行单元测试。

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

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

在测试代​​码中,我创建了一个名为 logout 的条形按钮并将 barbutton 分配给它。要以编程方式单击条形按钮项,我遵循以下代码。

[logout.target performSelector:logout.action];

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

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

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

4

1 回答 1

8

这段代码对我有用

//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");
}

我不知道你所说的点击是什么意思,但上面的作品

于 2012-06-28T09:26:04.987 回答