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 に答える