2013-08-12 5 views
1

У меня есть UIScrollView, который имеет две страницы и только прокручивает по горизонтали.Анимация объектов, когда прокрутки UIScrollView

Управление прокруткой и поисковым вызовом осуществляется с помощью UIPageControl. Я поставил UIImageView на Scrollview, который содержит образ iPhone (показано красным цветом на изображении ниже), что говорит Hello внутри страницы 1.

Я хотел оживить UIImageView, чтобы повернуть и изменить свою позицию как показано на рисунке, когда пользователь прокручивается со страницы-1 на страницу-2. Также анимация должна идеально поворачиваться назад, когда пользователь прокручивается со страницы-2 на страницу-1.

Animation based on UIScrollView

анимация или движение UIImageView основано на том, сколько пользователь прокрутки по горизонтали, а не в зависимости от времени.

Просьба помочь мне понять, как повернуть UIImageView взад и вперед по позиции прокрутки UIScrollView. Некоторый код будет очень полезен.

+0

Вы можете использовать 'CABasicAnimation' с анимацией' transform.rotation'WithKeyPath для этого типа анимации вращения с предложением @ rob's –

+0

animationWithKeyPath вы упоминаете. Возможно, вы узнаете, где найти дополнительную информацию у Apple Doc – carbonr

+0

. Проверьте это: http://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGAffineTransform/Reference/reference.html –

ответ

0

Установите делегат для просмотра прокрутки. Возможно, вы хотите, чтобы ваш контроллер просмотра был делегатом. Вы должны добавить UIScrollViewDelegate в свой список протоколов.

Затем, в делегате, выполните scrollViewDidScroll:. В scrollViewDidScroll: просмотрите вид прокрутки contentOffset. На основе contentOffset установите для изображения transform и center изображение, чтобы повернуть его и перемещать туда, где хотите.

+0

можете ли вы добавить пример используя 'transform' с' contentOffset' – carbonr

1

Чтобы найти, сколько вид прокрутки прокрутила, вы можете проверить UIScrollView в contentOffset недвижимости:

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

Затем повернуть эту точку зрения изображения, вы можете сделать это:

self.imageview.transform = CGAffineTransformMakeRotation(M_PI/2); 

Что касается анимации, то я лично не имеют большого опыта работы с ним. Но вы можете взглянуть на Simple Animation Using UIImageView.

+0

вместо фиксированного M_PI/2, нам может потребоваться изменить угол согласно смещению содержимого – HarshIT

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