1

我在 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 中添加一个 addTarget。我应该怎么做?

4

2 回答 2

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];
}
于 2012-10-31T04:04:34.513 回答
0

将 rangeBtn.tag 设置为某个值(例如 100)。

然后在 cellForRowAtIndexPath 中使用:btn = [cell viewWithTag:100] 获取对按钮的引用

现在您可以为该按钮设置目标。

于 2012-10-31T04:07:12.567 回答