UIPageControl keine Begrenzung?

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

  • UIPageControl keine Begrenzung?

    Hi,

    ich habe ein PageControl unter einem selbstgebauten ScrollView in dem ich dann per paging mich bewege und das PageControl ensprechend setze. Ich kann beliebig viele Pages hinzufügen, so das irgendwann mehr Pages da sind, als Punkte in meinen View des PageControl passen.

    Was macht man in so einer Situation? Gibt es da ein Standard Prozedere von Apple? Im Moment schreibt der PageControl gemütlich einfach übers Cliping hinaus aus dem Bildschirm, was natürlich dazu führt, das man den aktiven Punkt nicht mehr sieht wenn man bei der ersten der letzten Page ist.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Einfach die Kullern weglassen. Die geben sowieso nur Sinn, wenn es nicht zuviele sind.
    Für die Navigation musst Du dann was bauen, was entsprechend Sinn (im Sinne einer vernünftigen Navigation) ergibt.
    Nachtrag: Zum Beispiel oben in der Bar ein Triple-Strich-Menu-Icon.
    Vielleicht kannst Du deine Einträge ja nochmal gruppieren und dann innerhalb der Gruppe die Kullern anzeigen lassen.
    -> Bei mir gibt es zum Beispiel ein Tausend News und man kann mit dem Menü Icon sich ein Jahr/Monat auswählen.
    Klar, man kann natürlich swipen von einem Monat in den anderen wechseln.

  • Es wird in der Regel sehr selten vorkommen, dass in der echten Anwndung mehr als 5-10 Pages erstellt werden. Ich möchte es aber nicht generell unterbinden da es ja technisch kein Problem ist. Jetzt extra für den Fall groß was einbauen ist aber auch kontra produktiv. Eventeull ist dann weglassen ab 20 Stück (Mehr passen nicht drauf) wohl die einfachste, wenn auch nicht die schönste Lösung.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Du kannst Dir auch schnell ein eigenes PageControl bauen. Dies lässt sich mit etwas über einer Seite Source Code realisieren. ;)

    Allerdings ist halt irgendwann der Platz nicht mehr vorhanden, um die Punkte für alle Seiten anzuzeigen. Da müsste man dann evtl. noch eine alternative Anzeige vorsehen.
  • Wenn Du ab 20 Bildern die Kullern entfernst:
    Nur dann aber auch bedenken, dass der Benutzer darüber im Klaren sein muss, dass der Wechsel
    in ein anderes Bild möglich ist (bis zu 20 Bildern, wird es durch die Kullern visualisiert).
    Was ist, wenn nur 1 Bild verfügbar ist.... sieht es dann so aus wie mit 21 oder mehr Bildern?
  • Nein,

    deswegen habe ich das Scrollview ja selber gebaut und kein fertiges genommen. Es geht hier nich um Bilder sondern um formulare. Das Formular ist etwas schmaller als der Scrollview. Gibt es nun ein weiteres Formular, dann sieht man den rechten Rand des Formulars schon in dem Scrollview. In sofern ist das PageControl eh nur eine Zugabe.
    Ich habe mal einen ScreenShot angehängt damit es klar wird wie es aussieht.

    Gruß

    Claus
    Dateien
    • 1.jpg

      (62,91 kB, 213 mal heruntergeladen, zuletzt: )
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

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

    Warum verwendest Du dafür nicht den normalen UIScrollView? Über eine entsprechende Transform den ContentViews lässt sich dies sehr leicht realisieren.

    Kannst Du die Funktionsweise etwas näher erläutern, mir ist nicht ganz klar, was Du meinst?
    Aber ich vermute Du sprichst über ein CustomPageControl und nicht über den letzten Post von Thallius (Scrollview, Formulare) UIPageControl keine Begrenzung?
  • Es ging mir um ein ScrollView mit Paging, bei dem die einzelnen Pages schmaler als der ScrollView sind und somit immer links und rechts teilweise die vorherige bzw. nächste Page angezeigt werden.

    Dies lässt sich sehr gut mit einer Transform auf den ContentView beim Scrollen des ScrollViews lösen und z.B. so realisieren:

    Quellcode

    1. - (void)scrollViewDidScroll:(UIScrollView *)aScrollView
    2. {
    3. CGFloat offset = self.scrollView.contentOffset.x * 150 / 768;
    4. CGAffineTransform transform = CGAffineTransformMakeTranslation(offset, 0);
    5. [self.contentView setTransform:transform];
    6. }
  • @McDan: Ah. okay. Dann habe ich Dich falsch verstanden. Damit hast Du ja alles in einem ContentView.
    Das ist vermutlich ganz gut zu gebrauchen, wenn man zum Beispiel Buttons in einem Scrollview horizontal hat.

    Hmm. Ich überlege gerade. Ich hätte es ebenfalls, über ein Scrollview mit Paging gemacht.
    In deiner Variante müßte man sich noch ums lazy Loading kümmern oder?
  • Ich habe es anders gelöst. Dadurch brauche ich keinen Eingriff in das Scrolling zu machen.

    Die ContentView des Scrollviews ist wirklich so breit wie das Formular, nur das ClipToBound ist auf NO. Damit werden die vorherigen und nachfolgenden angezeigt. Damit man auch auserhalb des Contentview noch swipen kann, habe ich einfach ein Hilfsview hinter den Scrollview gelegt, dessen Mathode hitTest ich gesubclassed habe.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

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