2012-10-31 87 views
1

顯示的UIButton我的UITableViewCell如何隱藏或UITableViewCell中

@interface MyMusicLibraryCell : UITableViewCell 
{ 
    IBOutlet UIButton * rangeBtn ; 
} 

創建了一個按鈕,在.m文件

@synthesize rangeBtn; 
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
    if (self) { 
     // Initialization code 
     rangeBtn = [[UIButton alloc] init]; 
     rangeBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
     [rangeBtn setBackgroundImage:[UIImage imageNamed:@"fav_4.png"] forState:UIControlStateNormal]; 
     rangeBtn.frame = CGRectMake(260.0f, 10.0f, 20.0f, 20.0f); 
     [self addSubview:rangeBtn]; 
    } 

    return self; 
} 

,我想用rangeBtn並添加cellForRowAtIndexPath.how一個addTarget我應該做它?

回答

1

添加tag的按鈕,你可以按下面的訪問按鈕:

// initWithStyle 
rangeBtn.tag = 1; 


// cellForRowAtIndexPath 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: @"cell"]; 
    UIButton *cellButton = (UIButton *)[cell viewWithTag: 1]; 

    // add target to the button 
    [cellButton addTarget: self action: @selector(buttonPressed:) forControlEvent: UIControlEventTouchUpInside]; 
} 
+0

我試着在我的項目中的代碼,但它does not工作! ***終止應用程序,由於未捕獲的異常'NSInvalidArgumentException',原因:' - [UIButton addTarget:action:forControlEvent:]:無法識別的選擇發送到實例0x86a5030' – user1751912

+0

你確定你指的是正確的單元格嗎?另外,確保單元的組件沒有「標籤」。 – user427969

+0

你也可以發佈如何加載單元格的代碼? – user427969

0

設置rangeBtn.tag到某一值(例如100)。

如果是的cellForRowAtIndexPath使用得到參考按鈕: BTN = [細胞viewWithTag:100]

現在可以設定的目標爲按鈕。

相關問題