Как переключаться между представлениями, такими как FlipBoard Animation в iOS?

Я хочу переключиться с одного представления на другое представление в iOS 5, оно переключается нормально.

Но я хочу переключаться между представлениями, такими как анимация FlipBoard.

Является ли это возможным? Если это так, пожалуйста, помогите мне сделать это в моем проекте.

Заранее спасибо.

4 ответа

Решение

Посмотрите на: https://github.com/mpospese/MPFoldTransition это может помочь вам

Я попытался решить эту проблему с помощью CALayers и Core Animation. У меня есть два основных слоя для выполнения этой анимации, статический слой и слой анимации.

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

Например, допустим, мы хотим перейти на следующую страницу.

Левая сторона статического слоя будет содержать снимок экрана с левой стороны текущей страницы. Правая сторона будет содержать снимок экрана с правой стороны следующей страницы. Слой анимации будет располагаться поверх статического представления, а его лицевая сторона будет содержать снимок экрана с правой стороны текущей страницы. Задняя часть слоя анимации будет содержать снимок экрана с левой стороны следующей страницы.

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

Вот основной код для выполнения анимации сальто на слое (animationLayer CALayer).

    var t = CATransform3DIdentity
    t.m34 = 1.0/850 //Adds depth to the animation
    t = CATransform3DRotate(t, newRadianAngleValue, 0, 1, 0)

    CATransaction.begin()
    CATransaction.setAnimationDuration(0)
    yourAnimationCALayer.transform = t
    CATransaction.commit()

Я создал свою собственную библиотеку, которая использует эту базовую концепцию, проверьте ее. (все еще в стадии разработки, хотя)

https://github.com/djk12587/DJKSwiftFlipper

Загрузите код по этой ссылке. Он отображает точный вывод, например, flipBorad

Посмотри на это

https://github.com/ITechRoof/ITRFlipper

Это намного проще и удобнее использовать с пользовательскими представлениями.

Другие вопросы по тегам