2012-08-15 4 views
0

Le projet en cours nécessite un UIScrollView pour faire défiler verticalement et horizontalement, mais il ne doit rebondir que verticalement. Est-ce possible? J'ai remarqué qu'il y a une propriété verticalBouncing et horizontalBouncing dans la déclaration, cela pourrait-il être la réponse?UIScrollView 1D Bouncing mais 2D Scrolling

+2

Est-il vraiment plus facile de créer une question si au lieu de simplement le tester? – JustSid

+0

J'ai essayé, mais je n'ai pas pu accéder à ces propriétés. 'valueForKey:' retourne un objet 'id', mais' horizontalBouncing' est un int dans une structure. –

+0

pouvez-vous fournir le code que _exactly_ vous avez essayé? – holex

Répondre

3

Vous ne pouvez pas accéder directement aux @package ivars. Cependant, vous pouvez vous inscrire en tant que délégué de UIScrollView et implemenet ce code

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    float maxX = scrollView.contentSize.width - scrollView.frame.size.width; 

    CGPoint offset = scrollView.contentOffset; 
    offset.x = MAX(MIN(maxX, offset.x), 0); 
    scrollView.contentOffset = offset; 
} 
+0

Merci! Je n'ai même pas pensé à utiliser cette méthode de délégué. –

Questions connexes