Ich versuche, UITableViewCell Grenze zu aktualisieren, wenn der Benutzer eine lange Geste auf die Zelle drückt, aber es wird nicht aktualisiert.Zeichnen Sie einen Rahmen um eine UITableviewCell, wenn mit UILongPressGestureRecognizer ausgewählt
Hier ist meine cellForRowAtIndexPath:
Methode
let objLongPressHandler = UILongPressGestureRecognizer(target: self, action: #selector(self.longPressHandler(_:)))
objLongPressHandler.view?.tag = indexPath.row
objLongPressHandler.delegate = self
objLongPressHandler.enabled = true
objLongPressHandler.minimumPressDuration = 0.1
cell.contentView.addGestureRecognizer(objLongPressHandler)
Diese meine Funktion ist UILongPressGestureRecognizer
Funktion.
func longPressHandler(objGesture: UILongPressGestureRecognizer) {
let center = objGesture.view?.center
let rootViewPoint = objGesture.view!.superview?.convertPoint(center!, toView: self.tableView)
let indexPath = self.tableView.indexPathForRowAtPoint(rootViewPoint!)
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath!) as! GroupTableViewCell
cell.contentView.layer.borderColor = UIColor.redColor().CGColor
cell.contentView.layer.borderWidth = 3
cell.setNeedsLayout()
}
Was ist 'objGesture'? Ist es ein Gestenerkenner? Wo wird dieser Code aufgerufen? Welche Ergebnisse erhalten Sie für jede Zeile des Codes (d. H. Welche Werte erhalten Sie für 'center',' rootViewPoint', 'indexPath' und' cell') –
Ich bekomme mit diesem Code den rechten Indexpfad. Und ich rufe Code in cellforIRowatIndexPath –
Wenn ich richtig verstehe - Sie möchten die Zelle Grenze ändern, wenn der Benutzer einen langen Druck auf die Zelle. Nur die Zelle, die lange gedrückt hat, sollte sich ändern. Ist das richtig? –