Comment puis-je faire uiscrollview infini dans iOS?
Je veux faire défiler comme ça 1 2 3 1 2 3
J'ai quelques boutons supposons que 10 qui je veux montrer à d'interminables de défilement.
numbercolors=[[NSMutableArray alloc] init];
//total count of array is 49
numbercolors = [NSMutableArray arrayWithObjects:@"25",@"26",@"27",@"28",@"29",@"31",@"32",@"33",@"34",@"35", @"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18",@"19",@"20",@"21",@"22",@"23",@"24",@"25",@"26",@"27",@"28",@"29",@"30",@"31",@"32",@"33",@"34",@"35", @"0",@"1",@"2",@"3",nil];
int x=2500;
for (NSInteger index = 0; index < [numbercolors count]; index++)
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(x ,0,29.0,77.0);
button.tag = index;
[button setTitle:[numbercolors objectAtIndex:index] forState:UIControlStateNormal];
[button addTarget:self action:@selector(didTapButton:)
forControlEvents:UIControlEventTouchUpInside];
[coloringScroll addSubview:button];
x=x+70+29;
}
[coloringScroll setContentSize:CGSizeMake(5000+ (29+70)*[numbercolors count], 1)];
[coloringScroll setContentOffset:CGPointMake(2500+(29+70)*11, 0)];
C'est mon code pour faire butttons sur le scrollview.
Comment puis-je définir des en - (void)scrollViewDidEndDecelerating:(UIScrollView *)l'expéditeur de cette méthode pour l'infinite scroll.
stackoverflow.com/questions/8038293/infinite-uiscrollview
Merci @peko ,je le vois mais je n'ai pas de solution pour ce u peut expliquer ici....
Si vous voulez vraiment à "l'infini", alors vous voudrez probablement le "carreau" de votre écran, tels que les "tuiles" sont créés à une extrémité et enlevés à l'autre. Un peu comme la façon dont UITableView est fait.
Merci @peko ,je le vois mais je n'ai pas de solution pour ce u peut expliquer ici....
Si vous voulez vraiment à "l'infini", alors vous voudrez probablement le "carreau" de votre écran, tels que les "tuiles" sont créés à une extrémité et enlevés à l'autre. Un peu comme la façon dont UITableView est fait.
OriginalL'auteur virantporwal | 2013-10-09
Vous devez vous connecter pour publier un commentaire.
Juste besoin de faire ensemble setContentOffset compter
impressionnant répondre
Pourquoi, 29, 70, 36? Ce sont seulement des nombres aléatoires que vous avez choisi ou est-il une méthodologie pour eux?
dats sa façon 2 faire 🙂
OriginalL'auteur virantporwal
Idée principale consiste à repositionner votre scrollview revenir à une valeur constante, lorsqu'il a été fait défiler jusqu'à une certaine valeur, et puis l'auto-repositionner votre "1" , "2", "3" les éléments correctement.
Par exemple - Vous avez le scrollview avec contentwidth 5000. Par défaut, Vous définissez la position de 2500.
ensuite, il Vous suffit de cocher dans
- (void)scrollViewDidCScroll:(UIScrollView *)scrollview
- si le scrollview.contentoffset.x > 3500 - puis diminuez-la position de l'scrollview.contentoffset.x=1000;et la même chose de l'autre côté. Ce résultat infini défilement.
Mais le contenu ne suivra pas. Donc - Vous besoin pour mettre en œuvre le contenu supplémentaire de décalage de la valeur de la vérification pour les réorganiser et de les repositionner correctement "1", "2", "3", éléments.
Habituellement, j'utilise 3 éléments dynamiquement la précontrainte nécessaire image de la galerie pour eux.
Si Vous ne voulez pas ré-inventer la roue" , découvrez ces solutions:
https://www.cocoacontrols.com/controls/dmcircularscrollview
https://www.cocoacontrols.com/controls/infinitescrollview
https://www.cocoacontrols.com/controls/iainfinitegridview
désolé, mais je sais que j'ai besoin de contentoffset,le point principal est de savoir comment?
le scrollview le décalage du contenu peut être modifié comme ceci: [scrollview setContentOffset:CGPointMake(2500, 0)];
voir en fait mes objets(dans le tableau) ne sont pas fixes (combien de montrer dans la première fois et combien sont alésage)donc pour cette comment puis-je définir contentoffset pour mon prochain point de vue.si j'ai une image avec une largeur de 320 pixels alors je vais augmenter contentoffset avec plusieurs de 320 mais ici, je ne peux pas.
Il suffit de voir des exemples -, il sera plus facile de cette façon + Vous permettra de voir le code et d'apprendre comment il est fait.
OriginalL'auteur Guntis Treulands
Vous pouvez consulter cette solution basée sur l'Apple StreetScroller iOS exemple de code:
https://github.com/gblancogarcia/GBInfiniteScrollView
J'espère que cela aide!
OriginalL'auteur Gerardo Blanco García
J'ai écrit une infinie roulant UIscrollView sous-classe qui accomplit cette tâche. Il est basé sur l'Apple StreetScroller de l'échantillon. Il vous suffit de le fournir avec votre bouton de titres et si vous voulez un défilement horizontale ou verticale. Vous pouvez également définir d'autres options. Il est publié à la documentation et un exemple de projet sur mon github. Voici le lien...
http://github.com/ninefifteen/SSRollingButtonScrollView
OriginalL'auteur ninefifteen
C'est une vieille question, mais je suis en train d'écrire ce qui aide à la recherche pour la même solution. Supposons que nous souhaitons boucle à l'infini grâce à 3 éléments(cellules) - C0, C1, C2, on peut générer des cellules factices à gauche et à droite du centre des cellules, le résultat comme suit,
C0 C1 C2 [C0 C1 C2] C0 C1 C2
Cellules de support de cellules de nous voir à travers l'écran de l'appareil, et si nous défiler vers la gauche,
C0 [C1 C2 C0] C1 C2 C0 C1 C2
à ce moment, la force contentOffset de point de côté droit de cellules factices,
C0 [C1 C2 C0] C1 C2 C0 C1 C2 -> C0 C1 C2 C0 [C1 C2 C0] C1 C2
Depuis qu'elle prend du temps de travail pour mettre en œuvre cette manière transparente, je vous recommande ma solution ci-dessous.
https://github.com/DragonCherry/HFSwipeView
Si vous voulez juste vérifier comment il fonctionne, cliquez sur le lien ci-dessous et "tap to play".
https://www.cocoacontrols.com/controls/hfswipeview
OriginalL'auteur DragonCherry
J'ai mis en place une infinité de scroller dans swift.
Il est inspiré par apple StreetScroller exemple
Je sais, c'est pas encore parfait, mais je pense que dieu est le point de départ.
InfiniteVerticalScroller
OriginalL'auteur Luca Davanzo
Pour la droite infinie de défilement, vous pouvez utiliser -
OriginalL'auteur neeraj singla