J'ai un UIImageView
dans un UIScrollView
et j'ai quelques problèmes avec la propriété contentOffset
. De la référence d'Apple, il est défini comme suit:contentOffset dans UIScrollView après la rotation de l'iPhone
contentOffset: point auquel l'origine de la vue de contenu est décalée par rapport à l'origine de la vue de défilement.
Par exemple, si l'image est dans le coin supérieur gauche de l'écran comme ci-dessous alors la contentOffset serait (0,0):
_________
|IMG |
|IMG |
| |
| |
| |
| |
---------
Pour la rotation de l'appareil je le paramètre suivant:
scrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight);
imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight);
imageView.contentMode = UIViewContentModeCenter;
scrollView.contentMode = UIViewContentModeCenter;
Cela fera tout tourner autour du centre de l'écran. Après avoir fait tourner l'écran, puis l'écran ressemblera alors à ceci:
______________
| IMG |
| IMG |
| |
--------------
Mon problème est que si je lis maintenant de contentOffset
, il est encore (0,0). (Si je déplace le UIImage en mode paysage, la valeur de contentOffset
est mise à jour, mais elle est calculée par rapport à la mauvaise origine.)
Existe-t-il un moyen de calculer les coordonnées de l'UIImage par rapport à la partie supérieure gauche? coin de l'écran. contentOffset
semble seulement renvoyer cette valeur lorsque l'écran est dans l'orientation initiale de la vue. Je ai essayé de lire self.view.transform
et scrollView.transform
, mais ils sont toujours l'identité.