2010-10-18 4 views
2

Comment procéder pour zoomer plusieurs sous-vues d'un UIScrollView simultanément? J'ai un UIScrollView dans un autre UIScrollView (avec la pagination activée) et à l'intérieur de la scrollview interne j'ai quatre UIImageViews. Je voudrais que le zoom persiste quand je passe à la page suivante, affichant ainsi l'image suivante.Zoom sur plusieurs sous-vues dans un UIScrollView

Code pertinent suit:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 
{ 
    return self.page2; 
} 
+(void)updateScale:(CGFloat)newScale{ 
    currentScale = newScale; 
} 
+(CGFloat)getScale{ 
    return currentScale; 
} 

de l'extérieur, la pagination est activée, défilante et

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 
{ 
    return imageView; 
} 
-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale{ 
    [PhotoViewController updateScale:scale]; 
    NSLog(@"New scale set to %01f", scale); 
    NSLog(@"This should be equal to %01f", [PhotoViewController getScale]); 
} 

de la scrollview intérieure. CurrentScale est mis à jour correctement en fonction de la sortie du journal, mais lorsque j'appelle [page setZoomScale:[PhotoViewController getScale]]; pour la variable page mise à jour, rien ne se produit. page est allouée et initialisée correctement.

Répondre

6

Placez simplement toutes vos vues d'image dans un UIView vide et ajoutez cette vue à votre vue déroulante.

Questions connexes