UITableViewCell Wischen Sie nach Schublade

8

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?

    
DVG 15.07.2010, 20:51
quelle

5 Antworten

6

Hier ist eine großartige Open-Source-Methode, um genau dies zu tun, basierend auf dem Verhalten der Twitter App:

Ссылка

    
FrederickCook 30.04.2011, 21:30
quelle
5

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.

    
Derrick Hathaway 07.05.2013 19:56
quelle
3

2 Möglichkeiten zur Erkennung von Swipt-Aktionen

  1. Sehen Sie sich die Methode willTransitionToState: von UITableViewCell an. Diese Methode wird aufgerufen, wenn Sie in der Zelle wischen.

  2. Benutzerdefinierte Überstreichungserkennung in einer TableViewCell

und dann können Sie die Zellenansicht einfach ändern.

    
xhan 23.08.2010 09:37
quelle
1

Sie könnten -tableView:willBeginEditingRowAtIndexPath: in Ihrem Tabellenansichtsdelegaten einfach implementieren.

Aus dem Dokument ,

  

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.

    
kennytm 17.08.2010 15:35
quelle
1

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.

    
Max Seelemann 24.08.2010 12:57
quelle

Tags und Links