我熟悉“UITableViewDelegate”。- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
是有权力的。
如何在 Objective-C 中实现 "tableView: didSelectButtonInCellAtIndexPath: ",在 Swift 中也很棒。
如下图:
当单击红色圆圈中的按钮时,我使用自定义 UITableViewCell 委托(delegate)。
那么如何将 UITableViewCell 委托(delegate)升级为自定义 UITableView 委托(delegate),以优雅地处理事件。
最佳答案
这很简单,实际上有几种方法可以实现您想要的:
var buttonSelectionHandler: ((_ index: IndexPath?) -> ())?
并在按钮的选择器上调用它。参数index
您可以用来指示哪个单元格负责该操作的 block ,不要忘记,您应该将索引路径存储在 cellForRowAtIndex
的 UITableViewDataSource
并在自定义单元格上具有适当的属性。 UITableViewDataSource
的任何其他东西要确认该协议(protocol),添加该协议(protocol)类型的属性,将实现对象分配给该属性,并在选择按钮时调用该方法。 还有其他一些方法,但我认为这足以解决您的问题。希望这可以帮助!
关于ios - 如何在 Objective-C 和 Swift 中实现 "didSelectButtonInCellAtIndexPath:"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52034306/