2009-11-30 2 views
6

Qu'est-ce que je fais mal? Voici comment je crée + remplir mon ScrollViewUIScrollView ne répond pas à setZoomScale:

-(void)viewDidAppear:(BOOL)animated { 

    UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bigimage.jpg"]]; 
    imgView.contentMode = UIViewContentModeScaleAspectFit; 

    scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame]; 
    scrollView.contentSize = imgView.frame.size; 

    scrollView.minimumZoomScale = scrollView.frame.size.width/scrollView.contentSize.width * 0.99; 
    scrollView.maximumZoomScale = 2; 

    [self.view addSubview:scrollView]; 


[scrollView addSubview:imgView]; 

    [scrollView setZoomScale:0.5 animated:YES]; 
    NSLog(@"current zoomScale: %f", scrollView.zoomScale); 
    [imgView release]; 
} 

Le NSLogged zoomScale est de 1,0, et l'image est clairement montrée en taille réelle. Pincer le zoom ne fait rien. J'ai essayé presque tout ce que je peux trouver sur le net, mais tout le monde semble faire exactement cela, et ça marche pour eux.

L'aide est grandement appréciée!

+0

Bonne question, comme en témoigne le fait qu'il apparaisse comme # 1 dans Google sous UIScrollview setzoomscale ne fonctionne pas :) –

Répondre

21

Un UIScrollView ne sera pas zoomer à moins qu'il ait sa propriété delegate définie sur une UIScrollViewDelegate valide qui répond à

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView; 

Découvrez   the documentation.

+0

MERCI! Je viens de trouver ça ailleurs il y a deux secondes et je suis revenu pour résoudre ma question. Clairement, je ne lis pas assez les docs. –