Das ist eher eine Kuriosität als eine harte Programmierfrage.
Sowohl Facebook als auch Twitter verfügen beide über eine Funktion, bei der ein UITableViewCell die Zelle von der Seite animiert, um eine Schublade mit mehr Steuerelementen darunter zu offenbaren. Wie wird so etwas erreicht?
Hier ist eine großartige Open-Source-Methode, um genau dies zu tun, basierend auf dem Verhalten der Twitter App:
Dies ist ein Problem, für das ich ein paar verschiedene Lösungen ausprobiert habe. Ich mochte das Verhalten von Mailbox (mailboxapp.com). Also machte ich mich auf den Weg dorthin. Am Ende kam ich zu dem, was ich für eine sehr einfache Lösung halte: Benutze ein UIScrollView in deiner Zelle. Ich habe einen Blog Beitrag , der diskutiert und ein Applikation , die dieses Verhalten demonstriert.
Sehen Sie sich die Methode willTransitionToState:
von UITableViewCell an.
Diese Methode wird aufgerufen, wenn Sie in der Zelle wischen.
Benutzerdefinierte Überstreichungserkennung in einer TableViewCell
und dann können Sie die Zellenansicht einfach ändern.
Sie könnten -tableView:willBeginEditingRowAtIndexPath:
in Ihrem Tabellenansichtsdelegaten einfach implementieren.
Diese Methode wird aufgerufen, wenn der Benutzer horizontal über eine Zeile wischt; ... Diese Methode gibt dem Stellvertreter die Möglichkeit, die Benutzeroberfläche der Anwendung dem Bearbeitungsmodus anzupassen.
Da UITableViewCell
nur ein UIView
ist, können Sie diese Tatsache verwenden, um grundsätzlich alles zu tun, was Sie wollen.
Um Ihr Problem zu lösen, füge ich eine UISwipeGestureRecognizer
hinzu. , um den Swipe zu erkennen und dann die Ansicht in einen anderen Status zu animieren.
Sie könnten beispielsweise eine benutzerdefinierte Zelle erstellen, deren Inhaltsansicht über der "Aktionsansicht" liegt. Immer wenn eine Wischbewegung ausgeführt wird, verwenden Sie eine UIView-Animation, um die Inhaltsansicht zur Seite zu verschieben und stattdessen die Aktionsansicht mit einigen Schaltflächen anzuzeigen. In einer benutzerdefinierten UITableViewCell könnten Sie ein Delegate-Protokoll hinzufügen, um die gedrückte Aktion und die Zelle an den Delegaten, d. H. Ihren Controller, zu senden. Dort würden Sie auslösen, was auch immer auszulösen ist und dann die Zelle aus dem Zustand überführen.
Tags und Links iphone uitableview