Frage

Ich habe versucht, eine einfache Lösung für die folgenden zu finden. Ich habe eine Hauptansicht, die eine Fliese hält. Ich will ziehen und über einen UITableView fallen. Ich konnte die Wahl programmieren und zieht bereits mit UIGestureRecognizer.

Nun mein Problem ist, wie kann ich in der Tabellenansicht erkennen, dass es ein Element geht über sie gezogen werden. Zum Beispiel möchte ich die gegebene Zeile markieren, wenn die Platte darüber bewegt wird.

Ich habe versucht, die touchesMoved / Beginnt / Ended Ereignisse an den viewCell hinzuzufügen. Sie nicht Feuer, wenn ich die Kachel darüber bin Ziehen (in anderen Worten: die Fliese einen Teil des viewCell unter meinen Finger versteckt). Sie erhalten gefeuert, wenn es keine Fliese geschleppt oben.

Gibt es eine wirksame hittest Methode für das?

Danke.

War es hilfreich?

Lösung

Es gibt eine ganze Reihe von Problemen mit der Benutzeroberfläche hier, die angegangen werden soll.

  • In der Regel per Drag & Drop auf dem iPhone ist eine schlechte Idee. Es ist sehr schwer zu tun, und immer Feedback problematisch sein würde, weil Sie mit dem Finger wird die Drag-Operation
  • Behinderung
  • unter Verwendung der ausgewählten Zelle der Tabelle, um anzuzeigen, ‚dropability‘ können Sie durch den App Store Rezensenten erhalten abgelehnt; es ist, um anzuzeigen, „Ich habe diese Zelle ausgewählt haben“, nicht „Ich werde etwas auf sie fallen“

sagte, dass Sie wahrscheinlich alle Ihre Touch-Ereignisse in der ‚Quelle‘ Ansicht verwalten mögen, und die Tabellen Nachrichten von dort aus zu senden, anstatt um zu jonglieren Nachrichten versuchen. Sobald Ihr -touchesBegan: withevent: withevent: wurde in einer Ansicht, die alle nachfolgenden -touchesMoved genannt und -touchesEnded: withevent: wird für den gesamten Lebenszyklus dieser Berührung zu dieser Ansicht gesendet werden; sie Spedition um das Heck aus allen Beteiligten verwirren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top