0

独自のイメージでカスタム ボタンを作成し、それをナビゲーション コントローラーの rightbarbutton に割り当てています。問題は、ユーザーがボタンをクリックすると、コントローラーがそのセレクターを認識しないという例外が発生することです??

UIImage* image1 = [UIImage imageNamed:@"someImage.png"];
CGRect imgRect = CGRectMake(0, 0, image1.size.width/1.8, image1.size.height/1.8);
UIButton *myButton = [[UIButton alloc] initWithFrame:imgRect];
[myButton setBackgroundImage:image1 forState:UIControlStateNormal];
[myButton addTarget:self action:@selector(nextScreenButtonAction)   forControlEvents:UIControlEventTouchUpInside];


UIBarButtonItem *barButton =[[UIBarButtonItem alloc] initWithCustomView:myButton];
[self.navigationItem setRightBarButtonItem:myButton];
self.navigationController.navigationBarHidden = false;
4

2 に答える 2

1

これが問題かもしれませnextScreenButtonAction

[myButton addTarget:self action:@selector(nextScreenButtonAction:) forControlEvents:UIControlEventTouchUpInside]

メソッド定義では、次のような引数を渡します

-(IBAction) nextScreenButtonAction:(id)sender
{
} 

そのため、addTarget では、パラメーターを示すためにコロン (:) を指定する必要があります

于 2012-12-13T05:06:17.477 に答える
0

以下のコードに応じて、

[myButton addTarget:self action:@selector(nextScreenButtonAction)forControlEvents:UIControlEventTouchUpInside];

同じクラスに次のようなcreateメソッドがあることを確認してください。

-(void)nextScreenButtonAction
{{
   //ここにロジックを記述します...
}
于 2012-12-13T04:36:26.297 に答える