iPhone - 自定义单元格的dequeueReusableCellWithIdentifier问题

时间:2009-10-07 07:46:15

标签: iphone uitableview

我正在使用自定义UITableViewCell类。我的单元格上有多个按钮(准确地说是4个),按钮单击是在使用这个单元类的UIViewController中处理的。

我试图使用按钮的标签来计算点击按钮的行号。但是,如果未创建单元格而是使用自由对象,则执行此操作会导致问题。在这种情况下,标签和行号不匹配。

有人可以告诉我如何处理这个案子吗?如果我为不同行中的所有按钮指定相同的标记,如何识别单击该按钮的行?

非常感谢。

1 个答案:

答案 0 :(得分:0)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    MyTableCell *cell = (MyTableCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {      
        // whatever you have now
    }
    // Set up the cell...
    cell.myListViewController = self;
    int tag = indexPath.row;
    cell.button1.tag = tag;
    cell.button2.tag = tag;
    cell.button3.tag = tag;
....
}

此代码将为每行中的按钮提供唯一标记。您正在设置标记不在新单元格创建中,但适用于所有情况,包括重用。