我在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覆盖。
我在代码上遗漏了什么吗?
答案 0 :(得分:0)
我想你忘了userInteractionEnabled
。启用用户交互以查看您要处理的点击。
添加类似
的内容 self.view.userInteractionEnabled = true
更新:
在单元格的内容视图上添加视图(buttonview),而不是直接在单元格上。
希望这会有所帮助:)
答案 1 :(得分:0)
首先在单元格的nib中添加一个视图,然后在该视图上添加该按钮。直接在单元格笔尖上添加按钮会使其隐藏在内容视图后面。
答案 2 :(得分:0)
我应该使用 TableViewCell 而不是查看创建一个笔尖,并且它可以正常工作。非常感谢。 :)