Scrollen per SwipeGesture - Tauschen eines UIViewControllers?

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

  • Scrollen per SwipeGesture - Tauschen eines UIViewControllers?

    Hi,

    ich plane ähnlich zu einer ImageGallery, dass man sich durch links/rechts Gesten durch Verschiedene Views navigiert.
    Allerdings sind das unbestimmt viele mögliche Elemente/Views, daher will ich eigentlich auf eine ScrollView verzichten.

    Im Moment suche ich nach einer guten architektonischen Lösung um das zu realisieren.

    Bisheriger Plan: Den NavigationStack zu manipulieren (den Controller hinzuzufügen, bzw den alten zu entfernen)
    Allerdings ist bei diesem Plan noch nicht ganz klar, wie ich die Animation (eine rechts raus die andere links rein bzw eine links raus die andere rechts rein) bewerkstelligen soll.

    Bin dankbar um jeden Tipp ;)
  • Das ist kein leichtes Unterfangen. Mit iOS 5 hat Apple aber die Möglichkeit geschaffen, solche Containerviewcontroller selber zu bauen: developer.apple.com/library/io…c/uid/TP40006926-CH3-SW81

    Falls Du auch Blättern anstatt Wischen verwenden kannst, gibt es sogar schon eine fertige Komponente dafür: developer.apple.com/library/io…le_ref/doc/uid/TP40010891
    „Meine Komplikation hatte eine Komplikation.“
  • Wiso unbestimmt viele ? Und warum kein Scrollview ? Ein ScrollView braucht ja nicht mehr Speicher nur weil Du die ContentSize vergrößerst.

    Ich habe sowas gemacht indem ich immer 5 imageViews in ein Scrollview setze an die Position die gerade angezeigt wird +-2 davor und dahinter. Die COntentsize kann ich jederzeit ändern wenn sich meine Bilderanzahl ändert. Scholle ich ein Bild weiter, nehme ich das erste imageView raus und setze es ans letzte dran. Das funktioniert einwandfrei.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Thallius schrieb:

    Wiso unbestimmt viele ? Und warum kein Scrollview ? Ein ScrollView braucht ja nicht mehr Speicher nur weil Du die ContentSize vergrößerst.

    Ich habe sowas gemacht indem ich immer 5 imageViews in ein Scrollview setze an die Position die gerade angezeigt wird +-2 davor und dahinter. Die COntentsize kann ich jederzeit ändern wenn sich meine Bilderanzahl ändert. Scholle ich ein Bild weiter, nehme ich das erste imageView raus und setze es ans letzte dran. Das funktioniert einwandfrei.

    Gruß

    Claus

    An diese Lösung dachte ich auch schon, allerdings ist mir dabei nicht ganz klar, wo ich View relevante Daten ablegen soll. Im ViewController macht das ja dann nicht viel Sinn? Allerdings in der View ist es keine richtige MVC Trennung mehr.

    Also ich hab nen House, nen HouseTableViewController und eine HouseTableView. Der Controller hat jetzt die Aufgabe das House zur HouseTableView zu geben. Wie machst du das in deinem Fall? Gibst du da der View die aufgabe, das das eigenes House Objekt zu speichern? oder hast du im TableViewController dann ein Array wo du dir das speicherst, wer zu wem gehört?
  • Bei einer unendlichen Zahl von Bilder kann ich die kaum in ein Array packen.

    Ich habe es mir damals einfach gemacht und eine eigene Klasse von ImageView gemacht die mit der URL (bzw Path) des Bildes initialisiert wird und sich das Image selber asynchron lädt. Ich habe also setImage überschrieben und dort einen perferomInBackground reingepackt um dort das Bild zu laden und wenn es geladen ist mit einem setNeedDisplay anzeigen zu lassen.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)