0

私はテーブルビューに取り組んでおり、のカスタマイズをtableFooterView行っています。私がやっていることは次のとおりです:

ClassA.m

- (void)viewDidLoad
{
    FooterViewController    *footerView     =   [[FooterViewController alloc] initWithNibName:@"FooterViewController" bundle:nil];


    // Add selector of Class A to checkOutButton
    [footerView.checkOutButton addTarget:self action:@selector(goToCheckOut) forControlEvents:UIControlStateNormal];

    self.shoppingListTable.tableFooterView.backgroundColor  =   [UIColor clearColor];
    self.shoppingListTable.tableFooterView  =   footerView.view;
}

- (void)goToCheckOut {
    NSLog(@"this is a response from a button");
}

FootViewController.h

@interface FooterViewController : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *amount;
@property (strong, nonatomic) IBOutlet UIButton *checkOutButton;
@end

アウトレットもxibファイルに接続されています

しかし、ボタンをクリックしても全く反応せず、ログにも何も表示されません…。

私がここで間違っていること。これについて何かアイデアがあれば助けてください。ありがとう

4

2 に答える 2

1

forControlEvents間違ったパラメータを設定したため、コードが機能していません。ボタンを押してメソッドを呼び出すには、を使用する必要がありますUIControlEventTouchUpInside

だからあなたのこの行を変更します[footerView.checkOutButton addTarget:self action:@selector(goToCheckOut) forControlEvents:UIControlStateNormal];

[footerView.checkOutButton addTarget:self action:@selector(goToCheckOut) forControlEvents:UIControlEventTouchUpInside];

コントロールイベントリファレンスを確認してください:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIControl_Class/Reference/Reference.html

于 2012-06-20T17:44:00.243 に答える
1

これを試して:

[footerView.checkOutButton addTarget:self action:@selector(goToCheckOut) forControlEvents:UIControlEventTouchUpInside];
于 2012-06-20T17:34:09.150 に答える