/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
iphone/Maps/UI/BottomMenu/Presentation/BottomMenuTransitioning.swift
35 строк
1 KB
Alexander Boriskov
[iOS] Refactored bottom menu and tabbar, moved layers menu into bottom menu
27 апр 2020, 16:41
27 апр 2020, 16:41
74cd39c
Код
Авторство
О чём код?
final class BottomMenuTransitioning: NSObject, UIViewControllerAnimatedTransitioning { private let isPresentation: Bool init(isPresentation: Bool) { self.isPresentation = isPresentation super.init() } func transitionDuration(using _: UIViewControllerContextTransitioning?) -> TimeInterval { return kDefaultAnimationDuration } func animateTransition(using transitionContext: UIViewControllerContextTransitioning) { guard let fromVC = transitionContext.viewController(forKey: .from), let toVC = transitionContext.viewController(forKey: .to) else { return } let animatingVC = isPresentation ? toVC : fromVC guard let animatingView = animatingVC.view else { return } let finalFrameForVC = transitionContext.finalFrame(for: animatingVC) var initialFrameForVC = finalFrameForVC initialFrameForVC.origin.y += initialFrameForVC.size.height let initialFrame = isPresentation ? initialFrameForVC : finalFrameForVC let finalFrame = isPresentation ? finalFrameForVC : initialFrameForVC animatingView.frame = initialFrame UIView.animate(withDuration: transitionDuration(using: transitionContext), animations: { animatingView.frame = finalFrame }, completion: { _ in transitionContext.completeTransition(true) }) } }