在我的应用程序中有一个自定义单元格,其中包含一个带有一些操作的按钮,并且我必须执行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");
}
我可以同时执行这两项操作吗?或者给我一些解决问题的想法。
我必须在自定义单元格按钮单击和其他整个行选择上执行操作一。
答案 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");
}