J'ai un UITableView contenant une liste de cartes. Lorsqu'un élément est sélectionné, une nouvelle sous-vue est ajoutée à la fenêtre principale et la carte est affichée. Dans mon contrôleur de vue pour voir la carte voir la méthode suivante est appelée à chaque fois qu'il est affiché:UIScrollView changement de hauteur
- (void)showMap {
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:mapImage]];
float imageHeight = tempImageView.image.size.height;
float targetHeight = scrollView.frame.size.height - mapNavigationController.navigationBar.frame.size.height;
scrollView.contentSize = tempImageView.image.size;
scrollView.maximumZoomScale = 1.0;
scrollView.minimumZoomScale = targetHeight/imageHeight;
scrollView.clipsToBounds = YES;
self.imageView = tempImageView;
[tempImageView release];
[scrollView addSubview:imageView];
scrollView.zoomScale = scrollView.minimumZoomScale;}
Un nouveau UIImageView est ajouté à chaque fois à la UIScrollView et lorsque la vue disparaît le UIImageView est supprimé. Le zoomScale est calculé pour que l'image corresponde au rapport d'aspect.
Maintenant, à mon problème, la première fois qu'un élément est cliqué, tout fonctionne correctement et l'image de carte remplit toute la hauteur de UIScrollView, mais la prochaine fois qu'un élément est cliqué, la hauteur de UIScrollView est plus petite. Je dois également noter que la fenêtre principale contient une barre d'onglets.
Alors maintenant à mes questions:
- Comment changer le UIScrollView sa taille?
- Et existe-t-il un autre moyen dynamique de récupérer le targetHeight?
Merci d'avance!
mai vous avez pensé à elle déjà, je viens de mettre ma pensée ici. Comme je pensais que c'est peut-être parce que vous changez le zoomScale du scrollView la hauteur est changée et dans tous les cas il devient de plus en plus petit :) –