Ich habe eine Feder als benutzerdefinierte Zelle auf UITableViewCellController
. Es gibt eine UIView mit einem Erkenner darauf. Und ich habe die Spitze in cellForRowAtIndexPath
hinzugefügt, aber ich kann nicht auf die UIView auf der Spitze klicken.Tap Recognizer von CustomCell auf UITableViewCell kann nicht geklickt werden
CustomButton.swift (ich übersprang die tapRecognizer
, da es nicht wichtig ist, hier zu zeigen):
@IBOutlet weak var customButton: CustomButton!
override func awakeFromNib() {
self.customButton.tappable = true
}
Der Code aus:
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)
}
}
Dies ist der Code für die Spitze ist die 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
}
Wenn ich versuchte, die Ansichtshierarchie zu debuggen, wird die ganze Seite (einschließlich der Schaltfläche (orange)) durch eine UITableViewCellContentView abgedeckt.
Bin ich etwas auf dem Code fehlt?
Vielen Dank, aber es funktioniert auch nicht. Ich habe etwas wie "tappable" hinzugefügt, um die Interaktion zu bewältigen. Als ich versuchte, die Ansichtshierarchie zu debuggen, wird die Schaltfläche durch eine UITableViewCellContentView abgedeckt. –
Update in Antwort prüfen – Lion
Bedeutet das, dass ich meine Feder wechseln muss? Ich muss das ButtonView aus der Feder nehmen und es manuell in die Zelle einfügen? –