作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个带有 xib 的自定义单元格,这个单元格包含一个按钮,当按下按钮时我想执行一个操作,但不是在我的自定义单元格类中而是从包含自定义 TableView 的 View Controller 内部手机,有什么帮助吗?
最佳答案
首先你应该编写一个协议(protocol),例如:
protocol CustomCellDelegate {
func doAnyAction(cell:CustomUITableViewCell)
}
然后在您的自定义单元格类中声明:
weak var delegate:CustomCellDelegate?
在自定义单元类中的 IBAction 中:
@IBAction func onButtonTapped(_ sender: UIButton) {
delegate?.doAnyAction(cell: self)
//here we say that the responsible class for this action is the one that implements this delegate and we pass the custom cell to it.
}
现在在你的 viewController 中:
1- 让您的 View Controller 实现 CustomCellDelegate。2- 在你的 cellForRow 中声明单元格时不要忘记写:
cell.delegate = self
3- 最后调用 View Controller 中的函数:
func doAnyAction(cell: CustomUITableViewCell) {
let row = cell.indexPath(for: cell)?.row
//do whatever you want
}
}
关于ios - 如何在我的 viewController 中对自定义 UITableViewCell 执行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43627355/
我是一名优秀的程序员,十分优秀!