J'ai un problème avec UIImageView dans un UIScrollView. Dans Interface Builder, UIScrollView occupe l'intégralité de l'écran et UIImageView occupe l'intégralité de UIScrollView. Le problème est que lorsque j'ai une image orientée paysage, je la règle sur l'aspect, donc j'ai des barres grises en haut et en bas (ce que je veux). Cependant, lorsque je bosse sur la photo, une fois que la photo fait un zoom assez grand pour s'adapter à l'écran vertical, je veux qu'il ne se déplace pas dans la zone grise qui était au-dessus. Voir les captures d'écran que j'ai jointes. Je veux essentiellement que cela fonctionne comme l'application Photos à cet égard. Voici mon code pour la mise en place du UIScrollView et UIImageView:UIImageView à l'intérieur UIScrollView Pans Too Far
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.imageView.image = [UIImage imageNamed:@"IMG_0300.JPG"];
self.imageView.contentMode = UIViewContentModeScaleAspectFit;
self.scrollView.clipsToBounds = YES;
self.scrollView.contentSize = self.imageView.bounds.size;
self.scrollView.zoomScale = 1.0;
self.scrollView.maximumZoomScale = 5.0;
self.scrollView.minimumZoomScale = 1.0;
}
-(void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.imageView;
}
Merci à l'avance.
Jacob
Merci, cette réponse est si bon que je l'accepte deux fois si je pouvais :) –
Grand. Merci . M'a beaucoup aidé – sajwan
J'ai implémenté votre code et dans viewDidAppear: animé les limites UIImageView sont de retour à la taille déclarée dans le storyboard. Avez-vous une idée de ce qui peut déclencher cela? –