UITableview 标头中的 UITapGesture

McD*_*_11 3 uitableview uigesturerecognizer swift ios8

我试图在 swift 中使用可扩展的 tableview。所以我在tableview的标题中添加了Gesture,但它无法识别。请指导我。只需交叉检查我的编码。

我的编码如下:

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

        let vvv = tableView.headerViewForSection(section)

        let tap = UITapGestureRecognizer(target: self, action: Selector("handleTap:"))
        tap.delegate = self
        vvv?.addGestureRecognizer(tap)
        return vvv
    }


    func handleTap(gestureRecognizer: UITapGestureRecognizer)
    {
        if(gestureRecognizer.state == .Ended)
        {
            println("SECTION PRESSED") //NOT ENTERING TO THIS BLOCK
        }     
    }
Run Code Online (Sandbox Code Playgroud)

Die*_*era 5

在 Swift 4 中,您可以将 UITapGestureRecognizer 添加到标题视图中:

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

    let headerView = UIView()

    let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(headerTap))
    headerView.addGestureRecognizer(tapRecognizer)

    return headerView
}

@objc func headerTap() {
    // Tap action
}
Run Code Online (Sandbox Code Playgroud)