2010-09-15 2 views
1

J'ai juste cette étrange question. J'ai un UIScrollView, et j'ai seulement une page dans ce rouleau. Le défilement est activé et le renvoi activé.UIScrollView (mode de pagination) ne rebondit que lorsqu'il y a deux pages ou plus?

Voici mon code (en iPad)

scroll = [[UIScrollView alloc] init]; 
scroll.pagingEnabled = YES; 
scroll.showsHorizontalScrollIndicator = NO; 
scroll.showsVerticalScrollIndicator = NO; 
scroll.scrollsToTop = NO; 
scroll.bounces = YES; 
scroll.delegate = self; 
CGRect frame = CGRectMake(0.0, 0.0, 768, 1004); 
scroll.frame = frame; 
[self.view addSubview:scroll]; 


UIView *view1 = [[UIView alloc] init]; 
view1.frame = CGRectMake(0, 0.0, 768, 1004); 
view1.clipsToBounds = YES; 
view1.backgroundColor = [UIColor redColor]; 
[scroll addSubview:view1]; 


scroll.contentSize = CGSizeMake(768 * 1, 1004); 

Il est très simple. Je viens de créer un UIView, et l'ajouter pour faire défiler. Et définissez contentSize du défilement pour conserver une vue exacte.

Mais après l'avoir exécuté, le défilement ne rebondit pas du tout.

Si j'ajoute 2nd View et que la largeur du contenu du scroll est double, il rebondit.

Je me demande si le défilement ne rebondira jamais si une seule page est dedans?

Merci

Répondre

9

vous pouvez utiliser la propriété:

scroll.alwaysBounceHorizontal= YES; 

ou

scroll.alwaysBounceVertical = YES; 

ou les deux

Ne pas ajouter 1px, il va créer des problèmes pour vous si vous ajoutez des éléments touchables dans la UIView dans votre scrollview. N'oubliez jamais de définir à nouveau votre contentSize après avoir redéfini le cadre de votre défilement. Même le contentSize garde la même valeur.

Bonne chance

0

répondez-moi.

Si vous voulez que UIScrollView puisse rebondir, vous devez définir sa taille de contenu plus grande que sa taille d'image.

Même 1px plus est assez

pour mon propre code, si je mets scroll.contentSize = CGSizeMake (768 * 1 + 1, 1004); ça va marcher et rebondir.

Questions connexes