2009-12-29 4 views
0

Dans un UIScrollView, j'ai un UIImageView avec le contentMode réglé sur Aspect Fill. Lorsque je fais tourner le simulateur en mode paysage, l'UIImageView affiche le centre de l'image et je ne peux pas faire défiler vers le haut pour voir l'image entière.UIScrollView en mode paysage avec Aspect Fill

Comment puis-je résoudre ce problème de sorte que lorsque je fais pivoter l'iPhone, je vois plutôt le haut de l'image (mais toujours mis à l'échelle avec Aspect Fill).

Répondre

0

nécessaire pour définir la taille du cadre:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { 
    CGFloat ratio = imageView.frame.size.width/imageView.image.size.width; 
    CGRect rect = CGRectMake(0, 0, imageView.frame.size.width , ratio*imageView.image.size.height); 
    [scrollView setContentSize:rect.size]; 
    [imageView setFrame:CGRectMake(0.0f, 0.0f, rect.size.width, rect.size.height)]; 
}