2014-03-13 4 views
5

У кого-нибудь есть идеи, как это делается?Анимированная слайд-шоу в iOS

http://youtu.be/r_cII4_aq_A

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

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

+1

Все это делается с помощью UIScrollViews. UIScrollViews имеют супер-полномочия в iOS 7. – Murillo

+0

Значит, это горизонтальный скроллер? –

+1

Да, и deltaX управляет альфой фонового изображения и размером значка/текста. Забавные вещи. Edit: и deltaX Я имею в виду изменение между положением останова страницы и текущим смещением. – Murillo

ответ

1

Я думаю, у вас уже есть это. Но в случае, если у вас все еще есть сомнения, я сделал суть, которая делает анимацию: https://gist.github.com/mnmaraes/9536364

Anyways, получайте удовольствие.

+0

спасибо тонну, мне нравится ленивая инициализация второго контроллера вида –

0

Это замирание анимация, так:

[UIView animateWithDuration:0.5 
         delay:0.0 
        options:UIViewAnimationOptionTransitionCrossDissolve 
       animations:^{ 
    _backgroundImageView.image = nextImage; 
} completion:nil]; 

должны сделать трюк для фоновой части.

Для части переднего плана/значка вы можете анимировать преобразование в масштабе и переводить виды по мере их перемещения и выключения.

+0

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

+0

Вы также можете вручную отрегулируйте альфа каждого изображения при перетаскивании, если вам нужно поддерживать «поведение с половиной». Это все, что растворяют анимацию, это просто уменьшение альфа старого изображения до 0, в то время как вы увеличиваете альфу нового изображения до 1. –

+0

Трудно видеть в видео, потому что салфетки слишком быстры, но если вы медленно проведите пальцем по экрану , изображения медленно исчезают, пиксели изменяются со скоростью, зависящей от того, как быстро движется ваш палец ... и если вы перетащите меньше половины пути на следующий экран, он вернется к предыдущему экрану –

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