如何在动态表的每一行中添加一个按钮?

时间:2015-09-17 00:29:40

标签: ios uitableview tableviewcell

我正在重新使用Objective-C代码,其中有一个动态tableView,在该区域显示蓝牙设备。 我想在这个tableView的每一行上添加一个按钮,它会触发一个动作并在屏幕底部显示一个内容。

代码的当前和有趣的部分是

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifier"];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MyIdentifier"];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }

    CLBeacon *beacon = (CLBeacon*)[self.beacons objectAtIndex:indexPath.row];
    NSString *proximityLabel = @"";
    switch (beacon.proximity) {
        case CLProximityFar:
            proximityLabel = @"Far";
            break;
        case CLProximityNear:
            proximityLabel = @"Near";
            break;
        case CLProximityImmediate:
            proximityLabel = @"Immediate";
            break;
        case CLProximityUnknown:
            proximityLabel = @"Unknown";
            break;
    }

    cell.textLabel.text = proximityLabel;

    NSString *detailLabel = [NSString stringWithFormat:@"Major: %d, Minor: %d, RSSI: %d, UUID: %@",
                             beacon.major.intValue, beacon.minor.intValue, (int)beacon.rssi, beacon.proximityUUID.UUIDString];
    cell.detailTextLabel.text = detailLabel;

    return cell;
}

我想知道最好的方法是什么,以及在此代码中插入按钮的位置。 我不熟悉Objective-C dev并且正在寻找这个问题的各种示例/插图。

1 个答案:

答案 0 :(得分:0)

您可以在单元格的初始部分添加按钮,即

if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MyIdentifier"];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    // create your button and add it to your cell
    UIButton *button = ....
    [cell.contentView addSubview:button];
}