Edit-Button zeigt AccessoryType erst wenn man scrollt

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Edit-Button zeigt AccessoryType erst wenn man scrollt

    Hi,

    ich habe zwei ViewController mit TableViews. in beiden habe ich oben in die NavigationBar eine Button mit SystemItem=Edit gesetzt.
    Im cellForRowAtIndexPath frage ich nun ab

    Quellcode

    1. if editing {
    2. cell.accessoryType = .DetailButton
    3. } else {
    4. cell.accessoryType = .DisclosureIndicator
    5. }
    und setze den gewünschten AccessoryType.
    In einer Tableview erfolgt dann direkt das refresh der TableView und der Detailbutton erscheint sofort. In der zweiten TableView passiert das nicht. Erst wenn ich etwas hoch oder runtersolle, werden die kurz ausgeblendeten Rows anschließen mit dem Detailbutton gezeichnet. Die Rows, die nie den sichtbaren Bereich verlassen, bleiben aber ohne Detailbutton. Ein tableview.reloaddata() führt aber dazu, dass auch bei denen der Detailbutton korrekt angezeigt wird.
    Mit Haltepunkte habe ich heraus gefunden, dass ein klick auf den Edit-Button der ersten View direkt mal alle Rows neu zeichnet. Bei der zweiten View passiert das nicht.
    Da es ja zu dem Edit-Button keine Action gibt, kann ich auch kein relsoaddata manuell auslösen.

    Hat jemand eine Tipp für mich, wo ich was vergessen habe?
  • Vergesst es.
    Grad nach dem Abschicken hab ich die Lösung selber gefunden.

    Quellcode

    1. override func setEditing(editing: Bool, animated: Bool) {
    2. super.setEditing(editing, animated: animated)
    3. elementsTableView.reloadData()
    4. }
    Leider kann man seine Beiträte selbst nicht löschen. Also nutze ich die Gelegenheit, damit andere User mit ähnlicher Frage hier eine Antwort finden können.

    Fazit: Das Forum hilft mir immer. Und sei es, dass ich durch das Niederschreiben meines Problems oft auf die Lösung selbst stoße. Leider manchmal auch nach dem Absenden ;)