0

每个 'btn1' 调用相同的方法。

例子
PS:这是一个UITableView

我想知道如何从按下按钮的那一行获取。我试图在每个按钮中做一个循环,设置按钮标签与上一个不同:

// Handle the buttons tag
int tagCount = 100;

// mainArray is the array of the tableView
for (int i = 0; i < [self.mainArray count]; i++) {
    // I created a NSIndexPath to access the tableView cells
    NSIndexPath *nowIndex = [NSIndexPath indexPathForRow:i inSection:0];
    UITableViewCell *cell = (UITableViewCell *)[(UITableView *)self.view cellForRowAtIndexPath:nowIndex];

    // I set the button tag as the 'int';
    UIButton *shareButton = (UIButton *)[cell viewWithTag:100];
    [shareButton setTag:tagCount];

    tagCount++;
}

但是标签仍然等于100;

有什么解决办法吗?

4

2 回答 2

1

如果按钮是UIButton实例,则设置标签属性(可能是行号)。在事件方法中,您可以测试标签属性以查看按下了哪个按钮。

于 2012-08-06T00:39:38.733 回答
1

您可以使用常规和可选突出显示的图像替换您的UIButton实例,并将其设置为您的表格视图单元格的. 然后实现's方法。这样,您不必处理标签或存储对按钮的引用。如果您不需要任何 UIButton 交互(如选定状态或其他手势),则此方法应该足够了。UIImageViewaccessoryViewUITableViewDelegatetableView:accessoryButtonTappedForRowWithIndexPath:

于 2012-08-06T02:44:04.253 回答