(iOS) Bildwechsel mit "Wischen"

Ich bin zwar erst seit wenigen Tagen mit XOJO am “Basteln”, komme aber gerade nicht weiter.
Ich lasse in iOSImageView eine JPG-Datei anzeigen… diese möchte ich aber durch “Wischen, oder Tippen” wechseln.

Kann mir jemand von Euch weiterhelfen ?

LG
Andreas

Du wirst um eine Kombination von Controls oder um den Einsatz von Declare-Erweiterungen nicht herumkommen, je nachdem, wie du den Bildwechsel implementieren willst.
Aktuell kennt das iOSImageView zu wenige Events, um reagieren zu können. Eine Möglichkeit ist, es auf einen Canvas zu stellen und dessen PointerDown- oder PointerUp-Event zu verwenden, um dann das Bild zu wechseln.
Wobei du theoretisch dann gar kein imageView brauchst, sondern das Bild auch einfach im Canvas während des Paint-Events malen kannst.

Das alles fürs Tippen. Eine Wischbewegung kannst du damit nicht umsetzen, weil im Xojo-Standard die GestureRecognizers nicht genügend frei definierbar sind. Du kannst entweder einen GestureRecognizer für Swipes zu deinem View installieren (davon gibt es mehrere freie Umsetzungen, von Stand-Alone bis zum iOSLib-Gesamtpaket) oder einen erweiterten UIView einsetzen, wie den AppleView von iOSLib, der die verschiedenen Touch-Events zur Verfügung stellt.

[quote]Eine Möglichkeit ist, es auf einen Canvas zu stellen und dessen PointerDown- oder PointerUp-Event zu verwenden, um dann das Bild zu wechseln.
Wobei du theoretisch dann gar kein imageView brauchst, sondern das Bild auch einfach im Canvas während des Paint-Events malen kannst.[/quote]

Hast Du ein paar Codebeispiele, aus denen ich lernen kann ?

Nehmen wir mal die Canvas-Tipplösung:
Stelle einen Canvas in dein View, so groß, wie für das Bild benötigt.
Wenn du zwei verschiedene Grafiken alternativ anzeigen lässt, setz noch eine Boolean-Property ins View, oder entwirf gleich eine Canvas-Subklasse, die eine solche Property hat.
Und dann fülle den Paint-Event, in etwa so:

g.DrawImage (if (status, AktivImg, DeaktivImg), 0,0)

Status dabei die Boolesche Property, AktivImg und DeaktivImg die Bilder deines Projekts.

In den PointerDown- oder -Up-Event, je nach Vorliebe, packst du einfach

Status = Not Status me.Invalidate

Die Wisch-Lösung wegen der Notwendigkeit, Declares, Plug-Ins oder Libraries zu verwenden, wäre schon ein ganzes Stück komplizierter. Mit dem obigen Code hast du erst einmal einen Custom Button, der auf Antippen sein Aussehen wechselt.

OK… dann will ich mal versuchen das ich das hinbekome…