1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-View-Animator

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ViewAnimator — это библиотека для создания сложных анимаций UIView на iOS. Она позволяет легко создавать однострочные анимации для любых видов, включая те, которые содержат другие виды, такие как UITableView и UICollectionView с его ячейками или UIStackView с его arrangedSubviews.

Анимации для всего вида, UITableView и UICollectionView

Анимации SVG вдохновлены проектом Hero Люка Чжао (Luke Zhao).

Сложные макеты

Пользовательский интерфейс создан Messaki, обязательно посетите его профиль.

Логотип и баннер созданы @cintia_ve.

Установка

CocoaPods

ViewAnimator доступен через CocoaPods. Чтобы установить его, просто добавьте следующую строку в свой Podfile:

pod "ViewAnimator"

Вручную

Перетащите быстрые файлы внутри ViewAnimator/Classes в свой проект.

Carthage

github "marcosgriselli/ViewAnimator"

Использование

ViewAnimator предоставляет набор расширений UIView, чтобы легко добавлять пользовательские анимации к вашим представлениям. Начиная с версии 2.0.0 существует два способа использования этого расширения.

Самоанимация представлений

Представления могут анимировать себя, вызывая .animate(animations: [Animation]), что является наиболее базовым использованием. Вот полный метод, который содержит множество аргументов по умолчанию:

func animate(animations: [Animation],
             reversed: Bool = false,
             initialAlpha: CGFloat = 0.0,
             finalAlpha: CGFloat = 1.0,
             delay: Double = 0,
             duration: TimeInterval = ViewAnimatorConfig.duration,
             usingSpringWithDamping dampingRatio: CGFloat = ViewAnimatorConfig.springDampingRatio,
             initialSpringVelocity velocity: CGFloat = ViewAnimatorConfig.initialSpringVelocity,
             completion: (() -> Void)? = nil)
``` **Анимация нескольких видов**

ViewAnimator следует стилю API анимации UIKit со статическим методом `UIView.animate(views: [UIView], animations: [Animation])`. Это делает библиотеку очень простой в использовании и расширяемой для любого вида представления. Как и в предыдущем примере, метод содержит множество аргументов по умолчанию:

```swift
static func animate(views: [UIView],
                    animations: [Animation],
                    reversed: Bool = false,
                    initialAlpha: CGFloat = 0.0,
                    finalAlpha: CGFloat = 1.0,
                    delay: Double = 0,
                    animationInterval: TimeInterval = 0.05,
                    duration: TimeInterval = ViewAnimatorConfig.duration,
                    usingSpringWithDamping dampingRatio: CGFloat = ViewAnimatorConfig.springDampingRatio,
                    initialSpringVelocity velocity: CGFloat = ViewAnimatorConfig.initialSpringVelocity,
                    completion: (() -> Void)? = nil)

AnimationType

Направление

Direction предоставляет ось, на которой должна происходить анимация, и направление её движения.

let animation = AnimationType.from(direction: .top, offset: 30.0)
view.animate(animations: [animation])

Масштабирование

Поддержка масштабирования при увеличении и уменьшении масштаба.

let animation = AnimationType.zoom(scale: 0.5)
view.animate(animations: [animation])

Комбинированные анимации

Можно комбинировать соответствия Animation, чтобы применить несколько преобразований к блоку анимации.

let fromAnimation = AnimationType.from(direction: .right, offset: 30.0)
let zoomAnimation = AnimationType.zoom(scale: 0.2)
let rotateAnimation = AnimationType.rotate(angle: CGFloat.pi/6)
UIView.animate(views: collectionView.visibleCells,
               animations: [zoomAnimation, rotateAnimation],
               duration: 0.5)
UIView.animate(views: tableView.visibleCells,
               animations: [fromAnimation, zoomAnimation], 
               delay: 0.5)

Анимация

Протокол Animation предоставляет возможность расширения поддерживаемых анимаций ViewAnimator, за исключением функции animateRandom.

public protocol Animation {
    var initialTransform: CGAffineTransform { get }
}

Расширения UITableView/UICollection

ViewAnimator поставляется с набором удобных расширений, которые значительно упрощают анимацию в UITableView и UICollectionView. Оба имеют доступ к ячейкам в разделе для лёгкой анимации.

Оба предоставляют метод visibleCells(in section: Int), который возвращает массив UITableViewCell или UICollectionViewCell.

let cells = tableView.visibleCells(in: 1)
UIView.animate(views: cells, animations: [rotateAnimation, fadeAnimation])

Упоминания

Детали проекта

Требования

  • Swift 4.0
  • Xcode 7.0+
  • iOS 8.0+

Вклад

Не стесняйтесь сотрудничать с идеями 💭, проблемами ⁉️ и/или запросами на вытягивание 🔃.

Если вы используете ViewAnimator в своём приложении, я хотел бы услышать об этом и показать вашу анимацию здесь!

Участники

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

ViewAnimator — это библиотека для создания сложных макетов и анимационных переходов в iOS UI, которая позволяет оживить ваше представление всего одной строкой кода. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-View-Animator.git
git@api.gitlife.ru:oschina-mirror/mirrors-View-Animator.git
oschina-mirror
mirrors-View-Animator
mirrors-View-Animator
master