好的,谢谢你们中那些试图提供帮助的人。我最终得到的解决方案似乎是最干净的,就像这样:
class ThisViewController: UITableViewDelegate, UITableViewDatasource {
var tapView: ClickThroughView?
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
//code for delete being shown goes here
tapView = ClickThroughView(frame: tableView.frame)
tapView?.delegate = self
view.addSubview(tapView!)
view.bringSubviewToFront(tapView!)
return nil
}
}
extension ThisViewController: HandleViewTapDelegate {
func handleTap() {
//code for delete going away goes here
tapView?.removeFromSuperview()
tapView = nil
}
}
protocol HandleViewTapDelegate {
func handleTap()
}
class ClickThroughView: UIView {
var delegate: HandleViewTapDelegate?
override func pointInside(point: CGPoint, withEvent event: UIEvent?) -> Bool {
delegate?.handleTap()
return false
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句