contentOffset в UIScrollView после вращение iPhone

У меня есть UIImageView в UIScrollView , и у меня проблемы со свойством contentOffset . В справочнике Apple это определяется как:

contentOffset : точка, в которой исходная точка представления содержимого смещена от исходной точки представления прокрутки.

Например, если изображение находится вверху левый угол экрана, как показано ниже, тогда contentOffset будет (0,0):

   _________
   |IMG    |
   |IMG    |
   |       |
   |       |
   |       |
   |       |
   ---------

Для поворота устройства у меня есть следующие настройки:

 scrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
       UIViewAutoresizingFlexibleHeight);

 imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
       UIViewAutoresizingFlexibleHeight);

 imageView.contentMode = UIViewContentModeCenter;  
    scrollView.contentMode = UIViewContentModeCenter;

Это заставит все вращаться вокруг центра экрана. После поворота экрана экран будет выглядеть следующим образом:

    ______________
    |       IMG  |
    |       IMG  |
    |            |
    --------------

Моя проблема в том, что если я сейчас прочитаю contentOffset , он все равно будет (0,0). (Если я перемещаю UIImage в альбомный режим, значение contentOffset обновляется, но оно вычисляется относительно неправильного начала координат.)

Есть ли способ вычислить координаты для UIImage с помощью относительно левого верхнего угла экрана. contentOffset , кажется, возвращает это значение, только когда экран находится в начальной ориентации представления.

Я попытался прочитать self.view.transform и scrollView. преобразовать , но они всегда идентичны.

5
задан user467225 20 November 2010 в 12:55
поделиться