J'utilise ICarousel pour faire mon album électronique. Lorsque vous faites glisser l'album, le paramètre par défaut d'ICarousel est qu'il se déplace à une certaine distance. Ce dont j'ai besoin est de glisser une fois pour une image seulement. J'ai trouvé ICarousel n'est pas basé sur ScrollView, donc je ne peux pas comprendre comment atteindre mon but, est quelqu'un qui le sait?Comment configurer ICarousel pour glisser une fois pour une image
Répondre
Je vous recommande de désactiver le défilement natif et d'attacher un PanGestureRecognizer qui utilise la méthode scrollByNumberofItems.
[iCarousel setScrollEnabled:NO];
Puis dans votre gestureRecognizer:
[iCarousel scrollByNumberOfItems:1 duration:0.25];
J'ai essayé moi-même et il fonctionnait très bien.
Il semble que vous deviez utiliser une autre bibliothèque appelée SwipeView, implémentée par le même auteur.
Le problème a été trouvé ici. https://github.com/nicklockwood/iCarousel/issues/247
réponse Mise à jour avec les versions plus récentes de iCarousel:
iCarousel prend désormais en charge une seule page balayant en définissant pagingEnabled = OUI.
j'ai réalisé que pour le type iCarouselTypeCoverFlow en définissant:
//In ViewController.m
self.carousel.pagingEnabled = YES;
//In iCarousel.m change for smooth animation
-(void)scrollByOffset:(CGFloat)offset duration:(NSTimeInterbal)duration{
if (duration > 0.0)
{
_decelerating = NO;
_scrolling = YES;
_startTime = CACurrentMediaTime();
_startOffset = _scrollOffset;
// _scrollDuration = duration;
// set constant duration instead
_scrollDuration = 1.0;
_endOffset = _startOffset + offset;
if (!_wrapEnabled)
{
_endOffset = [self clampedOffset:_endOffset];
}
[_delegate carouselWillBeginScrollingAnimation:self];
[self startAnimation];
}
else
{
self.scrollOffset += offset;
}
}
Modifier le code source iCarousel fichier iCarousel.m peut le faire!
- (void)didPan:(UIPanGestureRecognizer *)panGesture {
......
case UIGestureRecognizerStateChanged: {
CGFloat translation = _vertical? [panGesture translationInView:self].y: [panGesture translationInView:self].x;
translation = translation * 0.35; // Add This line to change the really translation.
......
}
}
Ce résoudre mon problème, espoir pour vous aider!
- 1. Comment avoir une action de balayage accessible pour iCarousel
- 2. Vous avez besoin glisser et déposer une vue dans icarousel
- 3. Faire grandir une image et faire glisser une image pour la faire glisser en vol stationnaire
- 4. Comment créer une action individuelle pour chaque bouton dans icarousel?
- 5. comment cible définie pour le glisser-déposer une image
- 6. iCarousel avec réflexion par image
- 7. faire glisser une image
- 8. Comment configurer un bouton Tkinter pour effacer une fois cliqué?
- 9. Glisser-déposer une image
- 10. Comment configurer VectorDrawable comme une image pour ImageView programme
- 11. iCarousel affiche une vue par touche (diapositive)
- 12. Comment configurer iBeacon pour diffuser une notification locale une seule fois pour un seul périphérique?
- 13. Faire glisser une image dans une autre
- 14. Faire glisser une image avec une minuterie?
- 15. Comment redimensionner une image par glisser?
- 16. Comment implémenter glisser et déposer une image?
- 17. Glisser une image dans WPF
- 18. Glisser une image en flex
- 19. Comment afficher une image aléatoire qui reste la même une fois affichée pour la première fois?
- 20. Afficher l'index actuel de iCarousel dans une étiquette qui n'est pas une sous-vue dans ICarousel
- 21. Comment configurer une image par défaut
- 22. Tâche de configuration iCarousel
- 23. Comment configurer le plugin jquery une fois?
- 24. Comment configurer log4j.xml pour une application Web?
- 25. Comment traiter une image une fois sélectionnée?
- 26. glisser-déposer une image scr à une autre image scr
- 27. Comment créer une image pour l'éditeur Image?
- 28. Images.xcassets: Comment utiliser une image pour toutes les résolutions
- 29. Comment définir une image pour une rangée?
- 30. Comment configurer automatiquement une activité pour une vue?
Où écrivez-vous ce code? [iCarousel scrollByNumberOfItems: 1 durée: 0,25]; – Luda
Où que vous ayez déterminé que vous souhaitez faire défiler le carrousel. Pour moi, je l'avais dans un PanGestureRecognizer. Lorsque le geste a été reconnu, j'ai déclenché le défilement du carrousel avec la ligne de code ci-dessus. – MobileVet