Ich habe Zellen erweitern, wenn Sie auf die Zelle auf diese Weise klicken.Wie zu vermeiden, den Zellseparator zu verschwinden, wenn Sie klicken
in didSelectRowatIndex
self.tblPlaylist.cellForRowAtIndexPath(indexPath)?.backgroundColor = UIColor.grayColor()
self.tblPlaylist.separatorColor=UIColor(white: 1, alpha: 0.3)
// avoid paint the cell is the index is outside the bounds
if self.selectedRowIndex != -1 {
self.tblPlaylist.cellForRowAtIndexPath(NSIndexPath(forRow: self.selectedRowIndex, inSection: 0))?.backgroundColor = UIColor.clearColor()
}
if selectedRowIndex != indexPath.row {
self.thereIsCellTapped = true
self.selectedRowIndex = indexPath.row
}
else {
// there is no cell selected anymore
self.thereIsCellTapped = false
self.selectedRowIndex = -1
}
self.tblPlaylist.beginUpdates()
self.tblPlaylist.endUpdates()
in heightForrowAtIndex Methode geschieht
if (indexPath.row == selectedRowIndex && thereIsCellTapped) {
return 100
}
return 70
Zelle Aufweiten. Aber mein Problem ist, wenn ich auf eine Zelle tippe, der Separator darüber verschwindet. Dann, wenn ich über der Zelle auf die aktuell angezapfte Zelle geklopft habe oder auf eine andere als die Zelle, die den Separator erneut lädt. Wie ich damit aufhören kann, den Zellseparator zu verschwinden.
Danke für den Vorschlag. Ich habe eine benutzerdefinierte Linie für einen Separator gemacht. Aber wenn sich meine Zelle ausdehnt, bleibt sie in der gleichen Position. Wo muss ich den Rahmen ändern? In welchem Delegierten. Wenn die Zelle expandiert, sollte meine Linie vergrößert werden, Y, wenn sie verkleinert wird. Y sollte reduziert werden. – Irrd
Sie verwenden entweder automatisches Layout und setzen eine untere Einschränkung oder überschreiben die Methode '-layoutSubviews' und setzen den Rahmen des Trennzeichens. – graver