无法点击UITableViewCell上的CustomCell Tap识别器

时间:2016-04-21 10:08:10

标签: ios swift uitableview uiview

我在UITableViewCellController上有一个nib作为自定义单元格。 UIView上有一个识别器。并且,我在cellForRowAtIndexPath内添加了笔尖,但我无法点击笔尖上的UIView。

CustomButton.swift (我跳过了tapRecognizer,因为此处显示并不重要):

class CustomButton: UIView {
    var tappable = false

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

        let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(CustomButton.tapRecognizer))
        self.addGestureRecognizer(tapGestureRecognizer)
    }
}

这是笔尖的代码

@IBOutlet weak var customButton: CustomButton!

override func awakeFromNib() {
    self.customButton.tappable = true
}

来自 UITableViewCellController 的代码:

override func viewDidLoad() {
    // register nib
    let nib = UINib(nibName: "CustomCell", bundle: nil)
    self.tableView.registerNib(nib, forCellReuseIdentifier: "customNib")
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("customNib") as! CustomCell
    return cell
}

当我尝试调试View Hierarchy时,整个页面(包括Button(橙色))都被UITableViewCellContentView覆盖。

enter image description here

我在代码上遗漏了什么吗?

3 个答案:

答案 0 :(得分:0)

我想你忘了userInteractionEnabled。启用用户交互以查看您要处理的点击。

添加类似

的内容
 self.view.userInteractionEnabled = true

更新:

在单元格的内容视图上添加视图(buttonview),而不是直接在单元格上。

希望这会有所帮助:)

答案 1 :(得分:0)

首先在单元格的nib中添加一个视图,然后在该视图上添加该按钮。直接在单元格笔尖上添加按钮会使其隐藏在内容视图后面。

答案 2 :(得分:0)

我应该使用 TableViewCell 而不是查看创建一个笔尖,并且它可以正常工作。非常感谢。 :)