2011-12-21 8 views
0

私は内部にボタン付きのカスタムセルを持っています。カスタムUITableViewCellボタンアクションは呼び出されませんか?

- (void) column1Selected: (id) sender 
{ 
    UIAlertView *alert = [[ UIAlertView alloc]       
          initWithTitle: @" Alert"       
          message: [NSString stringWithFormat: @"button %d",((UIButton *) sender).tag] 
          delegate: nil       
          cancelButtonTitle: @" OK"       
          otherButtonTitles: nil];  
    [alert show] ; 
    [alert release]; 
} 

任意のヒント:私の問題は、私は私のcellForRowAtIndexPathメソッドで

UITableViewCell *cell = [self.tblHomeView dequeueReusableCellWithIdentifier:MyIdentifier]; 
    MyCell * mycell2 = ((MyCell*)cell); 
    if (cell == nil) { 
     cell = [[[MyCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease]; 

     [mycell2.column1 addTarget:self action:@selector(column1Selected:) forControlEvents:UIControlEventTouchDown]; 
     [mycell2.column2 addTarget:self action:@selector(column1Selected:) forControlEvents:UIControlEventTouchDown];   
    } 

をやっている今、セルボタンを

をクリックして、私の方法があるときにアクションメソッドを呼び出していないのですか?感謝の

+0

MyCellのポストコード – samfisher

+0

ボタンにターゲットアクションメソッドを追加するのではなく、それを列自体に追加します。あなたはmycell2.column1 addTarget .....と言っていますボタンではなく、列に触れた場合にメソッドが呼び出されることを意味します。 –

+0

@interface MyCell:UITableViewCell { UIButton * column1; UIButton * column2; – Shafqat

答えて

0

あなたはUIButtonのインスタンスにメッセージaddTarget:action:forControlEvent:を送信しなければならないようだが、あなたは別の何かにそれを送っています。 column1column2ボタンはありますか? MyCellがnibファイルからロードされている場合は、IBOutletsが正しく設定されていることを確認してください。そして、xibファイルが正しくロードされていることを確認してください! example of loading custom cells from xib

+0

column1とcolumn2はボタンです – Shafqat

+0

私の答えの第二部分はどうですか?カスタムテーブルビューセルでボタンxibをロードしようとしていますか? – asdf

関連する問題