37 votes

Apprendre les bases de UIScrollView

J'ai eu un moment très difficile de trouver de bons exemples de UIScrollView. Même Apple UIScrollView Suite je trouve un peu défaut.

Je suis à la recherche d'un tutoriel ou un exemple qui me montre comment créer quelque chose de similaire à l'iPhone Safari onglet défilement, lorsque vous effectuez un zoom arrière sur une fenêtre de navigateur et peut balayer pour les autres.

Mais je vais avoir un moment difficile obtenir juste une vieille vue montrant l'intérieur d'un défilement de l'affichage. J'ai un ensemble de vues avec une image, mais quand je l'ajoute à défilement de la vue, je seulement obtenir un rectangle noir, peu importe ce que j'ai mis dans la vue-je ajouter.

Des liens ou des extraits de code serait génial!

46voto

Ben Stiglitz Points 3054

Voici un défilement consulter le guide d'Apple

Les étapes de base sont:

  1. Créer un UIScrollView et un affichage de contenu que vous souhaitez mettre à l'intérieur (dans votre cas UIImageView).
  2. Faire de l'affichage du contenu d'une sous-vue de défilement de la vue.
  3. Définir la taille du contenu de la scrollview à la taille de l'image de l'affichage du contenu. C'est une étape très importante que les gens omettent souvent.
  4. Mettre le défilement de l'affichage dans une fenêtre quelque part.

Comme pour l'échange comportement, découvrez UIScrollView de l' pagingEnabled de la propriété. Si vous avez besoin de faire défiler d'une page entière, vous aurez besoin de jouer des tours avec clipsToBounds, en quelque sorte l'inverse de ce qui se passe dans cette StackOverflow question.

16voto

Hema Points 116
 UIScrollView *scrollview = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 

NSInteger viewcount= 4; 
for (int i = 0; i <viewcount; i++) 
{ 
CGFloat y = i * self.view.frame.size.height; 
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, y,self.view.frame.size.width, self .view.frame.size.height)];      
view.backgroundColor = [UIColor greenColor]; 
[scrollview addSubview:view]; 
[view release]; 
}
scrollview.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height *viewcount); 
 

Pour plus d'informations Créer UIScrollView par programme

4voto

Dickey Singh Points 513

Nouveau 26/03/2013 Je suis tombé sur un moyen plus facile de le faire sans code (contentSize)

http://stackoverflow.com/a/15649607/1705353

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X