J'ai un UIPageViewController avec plusieurs pages. Chaque page est le même contrôleur de vue, mais le numéro de page est suivi et la page correcte d'un PDF est affichée. Le problème est que chaque page PDF doit être chargée et dessinée avant que l'effet de bouclage ne fonctionne (vous faites glisser votre doigt sur l'écran et rien ne se passe jusqu'à ce qu'il soit chargé). Des idées sur la façon d'accélérer ou de précharger la page suivante? Merci de votre aide.Accélérer UIPageViewController
Répondre
J'ai un problème similaire dans l'application que j'utilise maintenant. Ma solution était de conserver une référence aux contrôleurs précédents et suivants chargés en tant que propriétés de mon contrôleur de vue racine, puis de charger la vue à partir de là. Je n'utilise pas PageViewController parce que le client a insisté pour que ait pour ressembler à FlipBoard ... donc je cache aussi le GLTexture résultant. Cela devrait fonctionner de la même manière, il suffit de stocker la page suivante et la page précédente lorsque la version actuelle est chargée, et de passer ce contrôleur dans votre "loadNextPage" ou toute autre méthode.
EDIT: Voici un échantillon (que j'ai simplifié) de mon projet
première charge (NH est un préfixe pour mon programme, vous aurez donc besoin de remplacer vos propres classes):
NHViewController *child = [NHViewController loadPageNum:actualNum];
[self.view addSubview:child.view];
self.curController = child;
child.delegate = self;
[self initializePages:NHPageLoadBoth];
Les charges suivantes (page flip):
NHPageLoadSettings pageToLoad = NHPageLoadNext;
if(direction == NHPageDirectionNextPage)
{
self.prevController = self.curController;
self.curController = self.nextController;
self.nextController = nil;
}
else
{
self.nextController = self.curController;
self.curController = self.prevController;
self.prevController = nil;
pageToLoad = NHPageLoadPrev;
}
UIView *nextView = self.curController.view;
[self.view addSubview:nextView];
[mCurView removeFromSuperview];
mCurView = nextView;
[self initializePages:pageToLoad];
Initialiser Pages:
- (void)initializePages:(NHPageLoadSettings)pagesToLoad
{
if(pagesToLoad & NHPageLoadNext)
{
NSUInteger nextPageNum = [self.curController.pageNum unsignedIntegerValue]+1;
self.nextController = [NHViewController loadPageNum:nextPageNum];
}
if(pagesToLoad & NHPageLoadPrev)
{
NSUInteger prevPageNum = [self.curController.pageNum unsignedIntegerValue]-1;
self.prevController = [NHViewController loadPageNum:prevPageNum];
}
}
De cette façon, vous aurez toujours les pages de voisins prêtes. Alors au lieu de les instancier dans la méthode qui récupère la page suivante ou précédente dans UIPageViewController, il suffit de passer self.nextController, ou self.prevController.
- 1. Imbrication d'un UIPageViewController (vertical) dans un autre UIPageViewcontroller (horizontal)
- 2. uipageviewcontroller piloté par uitableview
- 3. UIPageViewController dans XIB Erreur
- 4. Fusion dynamique échouée UIPageViewController
- 5. BAD_ACCESS sur UIPageViewController
- 6. UISlider intérieur UIPageViewController
- 7. UIPageViewController et le paysage
- 8. Connexion UISegmentedControl avec UIPageViewController
- 9. Durée de modification UIPageViewController
- 10. UIPageViewController dans un UIViewController
- 11. Swift - UIPinchGestureRecognizer dans UIPageViewController
- 12. Évitez UIPageViewController "over-scrolling"
- 13. UIPageViewController direction de la radiomessagerie
- 14. Optimisation UIPageViewController et solution possible
- 15. UIPageViewController annuler la page glisser
- 16. iPad - UIPageViewController - "dequeueReusableCellWithIdentifier" type d'option
- 17. Comment faire pour supprimer UIPageViewController?
- 18. Direction UIPageViewController uniquement vers l'avant
- 19. UIPageViewController a une taille étrange
- 20. Comment ajouter un second UIPageViewController
- 21. initialisation uipageviewcontroller avec des données
- 22. Accélérer CakePHP
- 23. Accélérer OpenCV
- 24. Minuterie accélérer
- 25. Accélérer cvSmooth?
- 26. Accélérer beautifulsoup
- 27. accélérer fsockopen
- 28. Accélérer Matplotlib?
- 29. Accélérer TSQL
- 30. Accélérer EventLogEntry.Message
Oui, c'est ce que je pensais. COMMENT pourrais-je charger la page suivante? Pouvez-vous me donner un échantillon de code rapide? Merci de votre aide! –
J'ai édité la réponse ci-dessus avec un échantillon ... j'espère que vous pouvez l'appliquer à votre projet – borrrden
Merci beaucoup l'homme! –