From 1fe144b4875ca18ecf0eebaaec6c0dab0701085e Mon Sep 17 00:00:00 2001 From: nixzhu Date: Tue, 10 Nov 2015 15:05:39 +0800 Subject: [PATCH] better animation --- .../ConversationViewController.swift | 2 ++ .../MediaPreviewViewController.swift | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/Yep/ViewControllers/Conversation/ConversationViewController.swift b/Yep/ViewControllers/Conversation/ConversationViewController.swift index 927f32e8..84500bfb 100644 --- a/Yep/ViewControllers/Conversation/ConversationViewController.swift +++ b/Yep/ViewControllers/Conversation/ConversationViewController.swift @@ -2817,8 +2817,10 @@ extension ConversationViewController: UICollectionViewDataSource, UICollectionVi vc.previewImageViewInitalFrame = frame vc.previewImage = image + transitionView?.alpha = 0 vc.afterDismissAction = { [weak self] in self?.view.window?.makeKeyAndVisible() + transitionView?.alpha = 1 } mediaPreviewWindow.rootViewController = vc diff --git a/Yep/ViewControllers/MediaPreview/MediaPreviewViewController.swift b/Yep/ViewControllers/MediaPreview/MediaPreviewViewController.swift index 62d311d9..3071c127 100644 --- a/Yep/ViewControllers/MediaPreview/MediaPreviewViewController.swift +++ b/Yep/ViewControllers/MediaPreview/MediaPreviewViewController.swift @@ -77,14 +77,26 @@ class MediaPreviewViewController: UIViewController { //let finalWidth = UIScreen.mainScreen().bounds.width //let finalHeight = UIScreen.mainScreen().bounds.height + view.backgroundColor = UIColor.clearColor() + mediasCollectionView.alpha = 0 + mediaControlView.alpha = 0 UIView.animateWithDuration(1.25, delay: 0.0, options: .CurveEaseInOut, animations: { [weak self] in + self?.view.backgroundColor = UIColor.blackColor() + self?.previewImageView.frame = CGRect(x: 0, y: (viewHeight - previewImageViewHeight) * 0.5, width: previewImageViewWidth, height: previewImageViewHeight) }, completion: { [weak self] _ in self?.mediasCollectionView.alpha = 1 + + UIView.animateWithDuration(0.25, delay: 0.0, options: .CurveEaseInOut, animations: { [weak self] in + + self?.mediaControlView.alpha = 1 + + }, completion: nil) + self?.previewImageView.alpha = 0 }) @@ -99,10 +111,17 @@ class MediaPreviewViewController: UIViewController { func dismiss() { previewImageView.alpha = 1 + mediasCollectionView.alpha = 0 + UIView.animateWithDuration(0.25, delay: 0.0, options: .CurveEaseInOut, animations: { [weak self] in + self?.mediaControlView.alpha = 0 + }, completion: nil) + UIView.animateWithDuration(1.25, delay: 0.0, options: .CurveEaseInOut, animations: { [weak self] in + self?.view.backgroundColor = UIColor.clearColor() + self?.previewImageView.frame = self?.previewImageViewInitalFrame ?? CGRectZero }, completion: { [weak self] _ in