Как мне повернуть ImageView ... Я пытаюсь использовать ландшафтный режим, и у меня проблема с акселерометром, перемещающим изображение ... Потому что, когда я работаю в портретном режиме, x акселерометра совпадает с x изображения ... Но когда я работаю в альбомной ориентации, x акселерометра равен y изображения, потому что ImageView автоматически вращается вместе с родительским View. Когда я поворачиваю изображение с помощью CGAffineTransformMakeRotation (M_PI / 2), оно вращает только изображение в нем ImageView ... и стороны x, y остаются нетронутыми ... Есть ли способ создать собственный класс, который расширит UIImageView, где я буду поменять местами x, y стороны UIImageView? Или есть способ повернуть UIImageView, а не только изображение в нем?
Вращение UIImageView (НЕ изображение, а вид)
Ответы (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
не могли бы вы опубликовать какой-нибудь пример? Не знаю, понял ли я это ... :(
- person Kuko; 24.03.2010
не знаю, правильно ли вы меня понимаете ... я хочу повернуть его точно на 90 градусов, но НЕ только изображение в ImageView, но хочу как-то поменять местами x и y UIImageView ...
- person Kuko; 24.03.2010