2011-12-21 71 views
0

我有一個內部按鈕的自定義單元格。我的問題是對細胞點擊鏈接自定義UITableViewCell按鈕操作沒有調用?

當現在我在做

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];   
    } 

在我的cellForRowAtIndexPath方法,我的方法是操作方法並沒有叫:

- (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]; 
} 

任何提示嗎?謝謝

+0

MyCell的郵政編碼 – samfisher 2011-12-21 08:47:00

+0

但是您不是將目標操作方法添加到按鈕,而是將其添加到列本身。您說mycell2.column1 addTarget .....哪意味着如果您觸摸了列而不是按鈕,該方法會被調用。 – 2011-12-21 08:49:35

+0

@interface MyCell:UITableViewCell { UIButton * column1; UIButton * column2; – Shafqat 2011-12-21 08:56:03

回答

0

好像你應該發送消息addTarget:action:forControlEvent:到UIButton的實例,但是你發送它到不同的東西。是column1column2按鈕?如果從nib文件加載MyCell,請確保IBOutlets正確設置。並確保你正確加載xib文件!看看example of loading custom cells from xib

+0

column1和column2是按鈕 – Shafqat 2011-12-21 09:01:03

+0

我的答案的第二部分呢?你是否試圖用自定義表格視圖單元格加載按鈕xib? – asdf 2011-12-21 14:03:30

相關問題