Ich habe ein kleines Problem mit den Knöpfen auf einem tableview.tableviewcell sich wiederholende uibuttons
Ich habe eine TableViewCell, die ich mit 3 Tasten angepasst habe. Ich habe die Schaltflächen im Interface Builder ausgeblendet und wenn die Tabelle geladen wird, sind die Schaltflächen wie erwartet ausgeblendet.
Ich habe dann die versteckte Eigenschaft der Tabelle auf false gesetzt, wenn didSelectRow aufgerufen wird und hidden.true, wenn didDeselectRow aufgerufen wird. Das funktioniert auch gut. Das Problem ist, dass die Schaltflächen, die in didSelectRow sichtbar sind, auch alle sieben Zellen sichtbar sind. sie wiederholen sich immer wieder.
Unten finden Sie den Code, der die Tasten
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(indexPath) as! ContactsViewCell
print("Table selected")
cell.insertEmailButton.hidden = false
cell.insertPhoneButton.hidden = false
cell.insertAllButton.hidden = false
cell.contactTextLabel.alpha = 0.2
cell.contactDetailTextLabel.alpha = 0.2
}
Und das versteckt sie zeigt, wenn die tableViewCell
abgewähltfunc tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(indexPath) as! ContactsViewCell
cell.insertEmailButton.hidden = true
cell.insertPhoneButton.hidden = true
cell.insertAllButton.hidden = true
cell.contactTextLabel.alpha = 1.0
cell.contactDetailTextLabel.alpha = 1.0
}
Ich habe einige Nachforschungen und ich lernte es könnte die Zeile mit den Tasten sein .hidden set to false wird von der Tabellenansicht wiederverwendet. Aber ich verstehe aus der Dokumentation, dass die Zelle, die wiederverwendet wird, stammt aus CellForRowAtIndexPath und nicht die Zelle bei didSelectRow, wo ich die Schaltfläche.hidden auf false setzt.
Ich habe auch versucht, mit der cell.isSelected-Eigenschaft in einer if else-Anweisung im cellForRowAtIndexPath die Schaltflächen auszublenden und anzuzeigen, aber die Schaltflächen werden überhaupt nicht angezeigt.
Vielen Dank im Voraus für Ihre Hilfe
Danke. Ich habe benutzt, wenn Zelle.isSelected im cellForRowAtIndexPath, um die ausgeblendeten Eigenschaften der Schaltfläche "true" und "false" zu setzen, aber die Schaltflächen wurden überhaupt nicht angezeigt. –
Können Sie ein bisschen mehr Informationen über Ihre gewünschten Ergebnisse geben? –
Es ist nichts kompliziert. Ich möchte nur eine Tabellenansicht mit Kontakten und wenn eine Zelle angetippt wird, verblassen der Titel und der Untertitel und die 3 Knöpfe erscheinen. und wenn eine andere Zelle ausgewählt wird, kehrt die Anfangszelle zu ihrem Alpha zurück und blendet die Knöpfe aus, während die neu ausgewählte Zelle den Knopf anzeigt und die Titel verbläßt. –