可能重复:
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
。
答案 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");
}
我不知道你的意思是点击,但上面的工作