Вращение UIImageView (НЕ изображение, а вид)

Как мне повернуть ImageView ... Я пытаюсь использовать ландшафтный режим, и у меня проблема с акселерометром, перемещающим изображение ... Потому что, когда я работаю в портретном режиме, x акселерометра совпадает с x изображения ... Но когда я работаю в альбомной ориентации, x акселерометра равен y изображения, потому что ImageView автоматически вращается вместе с родительским View. Когда я поворачиваю изображение с помощью CGAffineTransformMakeRotation (M_PI / 2), оно вращает только изображение в нем ImageView ... и стороны x, y остаются нетронутыми ... Есть ли способ создать собственный класс, который расширит UIImageView, где я буду поменять местами x, y стороны UIImageView? Или есть способ повернуть UIImageView, а не только изображение в нем?


person Kuko    schedule 24.03.2010    source источник


Ответы (2)


Попробуйте конвертировать точки в зависимости от ориентации ...

if( orientation == LANDSCAPE )
{

   CGPoint temp;

  temp = [touch locationInView:self];

  touchPoint.x = temp.y;

  touchPoint.y = 320 - temp.x;

}

Приведенный выше код преобразует точки из портретной ориентации в альбомную ...

person Chandan Shetty SP    schedule 24.03.2010

float degree = atan2(accelX, accelY) * 180 / 3.14159;

где AccelX и AccelY - значения акселерометра, используйте градусы и поверните ImageView.

person Chandan Shetty SP    schedule 24.03.2010
comment
не могли бы вы опубликовать какой-нибудь пример? Не знаю, понял ли я это ... :( - person Kuko; 24.03.2010
comment
не знаю, правильно ли вы меня понимаете ... я хочу повернуть его точно на 90 градусов, но НЕ только изображение в ImageView, но хочу как-то поменять местами x и y UIImageView ... - person Kuko; 24.03.2010