2011-02-09 90 views
0

我想在每个UITableViewCell中有一个UIButton,它允许我在对应于该行的对象上执行选择器。他们的工作方式是为每行创建一个单独的UITableViewCell(不重用),添加一个新的UIButton,该行标记了该行。当按钮被轻敲时,生成的选择器会检查发件人的标签以确定要更改哪个对象。带按钮的UITableView单元格

有没有更好的方法来做到这一点?首先,我不会重复使用那些不幸的单元格,并且使用UIView.tag看起来非常黑。

回答

6

您可以在所有的UIButtons上使用相同的标签号码。

以提取已被点击的行号,实现这个代码的选择:

- (void)buttonClicked:(id)sender 

{ 

    UITableViewCell * clickedCell = (UITableViewCell *)[[sender superview] superview]; 

    NSIndexPath * clickedButtonPath = [self.tableView indexPathForCell:clickedCell]; 

    int rownumber = clickedButtonPath.row; 
} 
0

我会做一个UITableViewCell的子类,以便它存储对按钮的引用。然后在您出队一个单元时设置该按钮。在被调用的方法中,发件人将是按钮,您可以请求它的超级视图,然后询问(它是单元格)它的索引。

相关问题