Как переключаться между представлениями, такими как 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()
Я создал свою собственную библиотеку, которая использует эту базовую концепцию, проверьте ее. (все еще в стадии разработки, хотя)
Загрузите код по этой ссылке. Он отображает точный вывод, например, flipBorad
Посмотри на это
https://github.com/ITechRoof/ITRFlipper
Это намного проще и удобнее использовать с пользовательскими представлениями.