2012-05-25 1 views
6

Sto utilizzando un UIPageViewController per sfogliare più pagine di contenuto, attualmente non faccio nulla quando l'utente lancia l'ultima pagina di UIPageViewController perché non c'è più alcuna pagina a cui passare, come potrei ottenere un effetto di rimbalzo come lo scorrimento fino alla fine del UIScrollView, in modo che dia all'utente un feedback è la fine della sequenza?UIPageViewController effetto rimbalzo dell'ultima pagina?

risposta

1

Prova questo!

  1. Aggiungere una pagina vuota prima pagina di 'prima' (e, facoltativamente, impostarlo da nascondere)
  2. Dopo aver effettuato l'installazione per l'UIPageViewController, manualmente passare alla seconda pagina, la tua 'prima' pagina .
  3. Nella paginaViewController: viewControllerBeforeViewController: metodo delegate, verificare se la vista sarà la pagina vuota. In tal caso,
    1. tornare manualmente alla seconda pagina, forse dopo un po 'di ritardo. O
    2. in una sorta di modo, disattivare l'UIPanGestureRecognizer nel vostro UIPageViewController

Questo non può essere la soluzione perfetta, ma si spera che accettabile. In seguito farò qualcosa di simile, quindi forse spiegherò di più e proveremo da solo. In bocca al lupo!


// Modifica

Ah .. se si vuole avere l'effetto di rimbalzo ultima invece (vi consiglio di fare entrambe le cose) ..

  1. Saltare questo.
  2. Aggiungere un extra (o due se si dispone di un numero dispari di pagine e vista fronte-retro) pagina (s) vuoto dopo tutte le altre pagine (ed eventualmente imposta/loro di essere nascosto)
  3. Nel pageViewController : viewControllerAfterViewController: metodo delegate, controlla se la vista sarà la (ultima) pagina vuota. Se è così,
    1. andare manualmente alla pagina precedente, forse dopo un po 'di ritardo. O
    2. in una sorta di modo, disattivare l'UIPanGestureRecognizer nel vostro UIPageViewController

In (3), se non si è disabilitare l'UITapGestureRecognizer, si dovrà decidere se è il gesto del rubinetto , quindi scegli (3.1), altrimenti prendi la (3.2) rotta!