Iphone UITableview自定义单元格按钮单击和didSelect方法

时间:2014-10-09 11:51:10

标签: iphone

在我的应用程序中有一个自定义单元格,其中包含一个带有一些操作的按钮,并且我必须执行didSelectRowAtIndexPath方法,我的按钮操作不会执行didSelectRowAtIndexPath方法。

我的代码如下 - >

-(void)tableView:(UITableView *)tableView willDisplayCell:(DriverListCell *)cell  forRowAtIndexPath:(NSIndexPath *)indexPath
{
    cell.fromLbl.text=[[jobArray objectAtIndex:indexPath.row]objectForKey:@"pickup_addr"];
    cell.toLbl.text=[[jobArray objectAtIndex:indexPath.row]objectForKey:@"deliver_address"];
    [cell.arrowBtn addTarget:self action:@selector(moreInfo:) forControlEvents:UIControlEventTouchUpInside];
}
-(void)moreInfo:(UIButton*)sender
{
   NSLog(@"more info Clicked");
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
  NSLog(@"whole row selected");
}

我可以同时执行这两项操作吗?或者给我一些解决问题的想法。

我必须在自定义单元格按钮单击和其他整个行选择上执行操作一。

1 个答案:

答案 0 :(得分:1)

如果点击按钮-(void)moreInfo:(UIButton*)sender,将调用此功能。

但是如果选择单元格didselectrowatindexpath将调用函数。

为了同时执行这两个操作,请删除您的uibutton,然后从-(void)moreInfo:(int)index方法调用didselectrowatindexpath函数,以便同时执行这两个操作。

-(void)tableView:(UITableView *)tableView willDisplayCell:(DriverListCell *)cell  forRowAtIndexPath:(NSIndexPath *)indexPath
{
    cell.fromLbl.text=[[jobArray objectAtIndex:indexPath.row]objectForKey:@"pickup_addr"];
    cell.toLbl.text=[[jobArray objectAtIndex:indexPath.row]objectForKey:@"deliver_address"];
}

-(void)moreInfo:(int)index
{
    NSLog(@"more info Clicked");
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self moreInfo:indexpath.row];
    NSLog(@"whole row selected");
}