我有一个带有几个UIButton的自定义UITableViewCell。
我将IBOutlet和IBAction的设置从按钮设置到我的自定义TableViewCell。
现在,当我在TableViewController上使用这个自定义单元格时,如何在控制器中知道哪个单元格的X按钮被点击?
假设我在每个单元格上都有一个X和Y按钮,我正在使用动态单元格。假设我有10个。用户点击第二个单元格上的X按钮。
我的自定义UITableViewCell代码将触发IBAction的xButtonTapped。如何将该信息传递给我的TableViewController?团?
如果是这样,我怎么知道用户点击按钮的哪个单元格?
答案 0 :(得分:1)
在tableview控制器符合的单元格上声明一个协议,然后你可以在按钮点击时调用一个方法,甚至可以发送“self”作为参数来获取实际的单元格。
答案 1 :(得分:0)
一个简单的解决方案可能是在协议中创建表时为按钮设置标记,如下所示:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
YourTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
[cell.youCellButton setTag:indexPath.row];
//... whatever aditional logic you want to implement here...
return cell;
}
然后从您IBAction中,您只需检查发件人的标签并分配给类变量或类似的东西:
int clickedButtonCell = [sender tag]