Mam UIImageView
w i mam pewne problemy z właściwością contentOffset
. Odwołanie Apple jest zdefiniowane jako:contentOffset w UIScrollView po obróceniu iPhone'a
contentOffset: Punkt, w którym początek widoku treści jest przesunięty względem początku widoku przewijania.
Na przykład, jeżeli obraz jest w górnym lewym rogu ekranu, jak poniżej THEN contentOffset będzie (0,0)
_________
|IMG |
|IMG |
| |
| |
| |
| |
---------
Przez obrócenie urządzenia I mają następujące ustawienia:
scrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight);
imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight);
imageView.contentMode = UIViewContentModeCenter;
scrollView.contentMode = UIViewContentModeCenter;
Spowoduje to, że wszystko obróci się wokół środka ekranu. Po obróceniu ekranu, to ekran będzie wtedy wyglądać tak:
______________
| IMG |
| IMG |
| |
--------------
Moim problemem jest to, że gdybym teraz czytać z contentOffset
, nadal jest (0,0). (Jeśli przestawię UIImage w trybie poziomym, wartość contentOffset
zostanie zaktualizowana, ale zostanie obliczona w odniesieniu do niewłaściwego pochodzenia).
Czy istnieje sposób obliczenia współrzędnych dla UIImage w odniesieniu do lewego górnego rogu róg ekranu. Wydaje się, że tylko contentOffset
zwraca tę wartość, gdy ekran znajduje się w początkowej orientacji widoku.
Próbowałem przeczytać self.view.transform
i scrollView.transform
, ale one zawsze są tożsamością.