0

现在我有一个带有自定义 UITableViewCell 的 UITableView ,其中包含 2 个辅助按钮。

当点击其中一个按钮时,它会触发:

(void) shareButtonTapped:(UIControl *)button withEvent:(UIEvent *) event
{
   NSIndexPath * indexPath = [self.tableview indexPathForRowAtPoint:[[[event touchesForView: button] anyObject] locationInView: self.tableview]];
    if ( indexPath == nil )
        return;

    [self.tableview.delegate tableView:self.tableview accessoryButtonTappedForRowWithIndexPath:indexPath];
}

或者

(IBAction)callButtonTapped:(UIControl *)button withEvent:(UIEvent *)event {


    NSIndexPath * indexPath = [self.tableview indexPathForRowAtPoint:[[[event touchesForView: button] anyObject] locationInView: self.tableview]];
    if ( indexPath == nil )
        return;

    [self.tableview.delegate tableView:self.tableview accessoryButtonTappedForRowWithIndexPath:indexPath];
}

然后我使用下面的方法来处理触摸事件。

(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {

        NSLog(@"Accessory tapped for row %d", indexPath.row);
}

我的问题:在“accessoryButtonTappedForRowWithIndexPath”中,如何确定 UITableViewCell 中按下了两个按钮中的哪一个?我想以不同的方式处理每一次触摸。

4

1 回答 1

0

正如 Mariam 指出的那样,我使用自己的自定义方法来接收呼叫,而不是内置的 accessoryBUttonTappedForRowWithIndexPath 方法。

于 2013-06-12T16:01:39.380 回答