0

UIScrollviewに4〜5個のビューを追加しています。

実行時にそのビューを動的に作成しています。

すべてのビューには1つのボタンが含まれています。

{

    UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom];

    [button addTarget:self action:@selector(category_selected:) forControlEvents:UIControlEventTouchUpInside];

}

ビューは正常に追加されましたが、ボタンをクリックすると、「認識されないセレクターがインスタンス0x657e850に送信されました」と表示されます。私は何が間違っているのですか?

4

3 に答える 3

4

category_selected:コントローラにメソッドを実装する必要があります。署名は次のようになります。

- (void)category_selected:(UIButton*)sender
{
    // The sender is the button that was pressed.
}

このようにボタンを設定すると:

[button addTarget:self action:@selector(category_selected:) forControlEvents:UIControlEventTouchUpInside];

私はあなたがあなたのコントローラーからこれを呼んでいると仮定しています、そしてコントローラーもそうです、そしてそれは実装されselfなければならないクラスです。category_selected:

于 2012-06-11T15:28:30.247 に答える
0

私はCategory_Selectedメソッドを持っています。そして私はcategory_selectedを呼び出しています。

つまり、最初の文字が大文字で始まるメソッドがありますが、最初の文字が小文字のメソッドを呼び出しています。

于 2012-06-12T05:36:40.320 に答える
0

クラスでメソッド category_selected: を定義しましたか。

[button addTarget:self action:@selector(category_selected:) forControlEvents:UIControlEventTouchUpInside];

category_selected: メソッドは、上記のアクションを設定するクラスで定義する必要があります。

于 2012-06-11T15:24:17.520 に答える