2010-08-13 7 views

Répondre

1

Vous voudrez peut-être faire quelque chose comme ça:

- (void) resizeScrollContentView 
{ 
    CGSize viewSize = _imageView.frame.size; 
    CGSize scrollSize = _scroll.frame.size; 
    CGPoint p; 

    p.x = 0; 
    p.y = 0; 

    if(viewSize.width < 320) 
    { 
     p.x = 160 - (viewSize.width/2.0); 
    } 

    if(viewSize.height < 460) 
    { 
     p.y = 200 - (viewSize.height/2.0); 
    } 

    _imageView.frame = CGRectMake(p.x, p.y, _imageView.frame.size.width, _imageView.frame.size.height); 

    CGSize endScrollSize; 
    endScrollSize = _imageView.frame.size; 

    _scroll.contentSize = endScrollSize; 
} 
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale 
{ 
    [self resizeScrollContentView]; 
} 

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 
{ 
    return _imageView; 
} 
+0

Merci, mais qu'est-ce exactement il fait? Est-ce que je dois faire n'importe quoi dans IB? – jarryd

+1

il limite l'imageView au scrollingView, et le redimensionne lorsque vous zoomez. Si le zoom est supérieur à la taille du téléphone, il vous permettra de défiler. Non, vous n'avez rien à faire sur IB ... Il suffit de créer le ScrollView appelé ici _scroll, et le UIImageView appelé ici _imageView – TheSquad

+0

J'ai essayé ceci et aussi défini mon imageview.image, mais la vue est simplement vide. N'est-il pas plus facile de faire cela dans IB? – jarryd

Questions connexes