2013-09-12 3 views
0

Я хотел бы повернуть UIImageView на 90 градусов по длине длины iPhone с помощью imageView.transform = CGAffineTransformMakeRotation(degrees * M_PI/180); и задавался вопросом, как я мог бы реализовать это, поскольку вид (и, следовательно, также возможность поворота «назад», если изображение перетаскивается вправо). Благодаря!Поворот UIView поэтапно на основе его местоположения x на экране

enter image description here

+0

Что вы пробовали? С какой частью у вас проблемы? Перетаскивание представления? Изменить положение/поворот? – ssantos

+0

@ssantos Я добавил «UIPanGestureRecognizer» и так перетаскивает работы. Однако у меня возникает проблема с тем, как добавить преобразования 'UIImageView', когда пользователь перетаскивает, а также поворачивает назад представление, если пользователь поворачивается вправо. – daspianist

ответ

1

Что касается перемещения точки зрения, вы можете сделать это, изменив его свойство frame как this.-

view.frame = CGRectMake(view.frame.origin.x + xOffset, view.frame.origin.y, view.frame.size.width, view.frame.size.height); 

Вы также можете добавить и observer, что прислушивается к вашим viewframe changes.-

[view addObserver:self forKeyPath:@"frame" options:NSKeyValueObservingOptionOld context:NULL]; 

Здесь вы в основном просите получить уведомление всякий раз, когда свойство frame объекта view изменений. Вы можете обрабатывать, что уведомление по реализации следующего method.-

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { 
    if([keyPath isEqualToString:@"frame"]) { 
     // Change object rotation depending on frame.origin.x 
    } 
} 

Вы должны будете сделать некоторую математику, чтобы вычислить вращение на основе x позиции. Кроме того, я думаю, вращая вид вдоль его центра немного сложнее, может быть, вы найдете пост ниже useful.-

http://www.informit.com/blogs/blog.aspx?uk=Ask-Big-Nerd-Ranch-Rotating-an-iPhone-View-Around-a-Point

Дело в том, что вам не придется беспокоиться о том, где вы» re panning to, поскольку просмотр вращения будет просто обновляться в соответствии с его положением каждый раз, когда он изменяется.

Надеюсь, что это поможет :)

+0

Спасибо, давай сегодня вечером! – daspianist

Смежные вопросы