Ich habe einen UIPageViewController, der verschiedene Seiten zeigt. Das aktuelle Verhalten ist, dass es nicht mehr scrollt, wenn ich die letzte Seite erreicht habe. Was ich jetzt erreichen möchte, ist, dass wenn auf der letzten Seite und Scrollen nach rechts, es auf die erste Seite geht. Wenn Sie auf der ersten Seite sind, gehen Sie beim Scrollen nach links zur letzten Seite. Lassen Sie also den PageViewController die Seiten in Kreisen anzeigen. Mein erster Ansatz funktioniert recht gut, während mehr als eine Seite hat, oder beginnend mit einer einzigen Seite:wie man uipageviewcontroller in Kreisen machen
- (UIViewController*) pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(TMCollectionViewController *)viewController
{
if((viewController.pageIndex) >= 1)
{
return _viewControllers[viewController.pageIndex - 1];
}
else
{
if ([_viewControllers count] == 1) {
return nil;
}
return [_viewControllers objectAtIndex:[_viewControllers count]-1];
}
}
Aber wenn ich die Seiten zu entfernen, so dass nur eine übrig bleibt, es erinnert mich noch entweder die vor oder nach der Seite, und zeigt es entsprechend. Obwohl nur eine Seite im Array übrig ist. Jede Hilfe wird sehr geschätzt.
Hallo und vielen Dank für Ihre schnelle Antwort. Ich habe deinen Code ausprobiert, aber er zeigt ein ähnliches Verhalten wie mein eigener Ansatz. Es funktioniert gut, wenn Sie viele Seiten haben. In meiner App stellt jede Seite eine Nachrichtenquelle dar, die hinzugefügt oder entfernt werden kann. Wenn ein Benutzer z.B. Fünf Quellen, der Code funktioniert gut. Wenn der Benutzer nun vier der fünf entfernt und daher nur noch eine im PageViewController übrig hat, kann man immer noch nach links und rechts blättern, sieht aber weiße Seiten mit störenden auffälligen Effekten. –
Ihre Anzahl in "presentationCountForPageViewController" wird möglicherweise nicht aktualisiert, sodass Sie 5 Seiten erhalten, obwohl nur 1 und 4 Seiten weiß sind. – Heena
Die Seiten, die ich vorstelle, befinden sich alle im _viewControllers-Array. Nachdem ein Benutzer vier von fünf Seiten gelöscht hat, besteht das Array _viewControllers aus nur einem ViewController. 'presentationCountForPageViewController' antwortet mit [_viewControllers count]. Aber irgendwie hilft das nicht. –