mirror of
https://github.com/wahyd4/Yep.git
synced 2026-08-17 08:46:17 +10:00
dismiss
This commit is contained in:
@@ -2817,7 +2817,12 @@ extension ConversationViewController: UICollectionViewDataSource, UICollectionVi
|
||||
vc.previewImageViewInitalFrame = frame
|
||||
vc.previewImage = image
|
||||
|
||||
vc.afterDismissAction = { [weak self] in
|
||||
self?.view.window?.makeKeyAndVisible()
|
||||
}
|
||||
|
||||
mediaPreviewWindow.rootViewController = vc
|
||||
mediaPreviewWindow.windowLevel = UIWindowLevelAlert - 1
|
||||
mediaPreviewWindow.makeKeyAndVisible()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,8 +27,14 @@ class MediaPreviewViewController: UIViewController {
|
||||
var previewImageViewInitalFrame: CGRect?
|
||||
var previewImage: UIImage?
|
||||
|
||||
var afterDismissAction: (() -> Void)?
|
||||
|
||||
let mediaViewCellID = "MediaViewCell"
|
||||
|
||||
deinit {
|
||||
println("deinit MediaPreview")
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
@@ -53,18 +59,20 @@ class MediaPreviewViewController: UIViewController {
|
||||
let previewImageWidth = previewImage.size.width
|
||||
let previewImageHeight = previewImage.size.height
|
||||
|
||||
let previewImageViewWidth: CGFloat
|
||||
let previewImageViewHeight: CGFloat
|
||||
|
||||
if previewImageWidth > previewImageHeight {
|
||||
previewImageViewWidth = viewWidth
|
||||
previewImageViewHeight = (previewImageHeight / previewImageWidth) * previewImageViewWidth
|
||||
|
||||
} else {
|
||||
// TODO: size
|
||||
previewImageViewWidth = viewWidth
|
||||
previewImageViewHeight = (previewImageHeight / previewImageWidth) * previewImageViewWidth
|
||||
}
|
||||
let previewImageViewWidth = viewWidth
|
||||
let previewImageViewHeight = (previewImageHeight / previewImageWidth) * previewImageViewWidth
|
||||
// let previewImageViewWidth: CGFloat
|
||||
// let previewImageViewHeight: CGFloat
|
||||
//
|
||||
// if previewImageWidth > previewImageHeight {
|
||||
// previewImageViewWidth = viewWidth
|
||||
// previewImageViewHeight = (previewImageHeight / previewImageWidth) * previewImageViewWidth
|
||||
//
|
||||
// } else {
|
||||
// // TODO: size
|
||||
// previewImageViewWidth = viewWidth
|
||||
// previewImageViewHeight = (previewImageHeight / previewImageWidth) * previewImageViewWidth
|
||||
// }
|
||||
|
||||
//let finalWidth = UIScreen.mainScreen().bounds.width
|
||||
//let finalHeight = UIScreen.mainScreen().bounds.height
|
||||
@@ -77,6 +85,34 @@ class MediaPreviewViewController: UIViewController {
|
||||
|
||||
}, completion: { [weak self] _ in
|
||||
self?.mediasCollectionView.alpha = 1
|
||||
self?.previewImageView.alpha = 0
|
||||
})
|
||||
|
||||
|
||||
|
||||
let tap = UITapGestureRecognizer(target: self, action: "dismiss")
|
||||
view.addGestureRecognizer(tap)
|
||||
}
|
||||
|
||||
// MARK: Actions
|
||||
|
||||
func dismiss() {
|
||||
|
||||
previewImageView.alpha = 1
|
||||
mediasCollectionView.alpha = 0
|
||||
|
||||
UIView.animateWithDuration(1.25, delay: 0.0, options: .CurveEaseInOut, animations: { [weak self] in
|
||||
|
||||
self?.previewImageView.frame = self?.previewImageViewInitalFrame ?? CGRectZero
|
||||
|
||||
}, completion: { [weak self] _ in
|
||||
mediaPreviewWindow.windowLevel = UIWindowLevelNormal
|
||||
|
||||
self?.afterDismissAction?()
|
||||
|
||||
delay(0.2) {
|
||||
mediaPreviewWindow.rootViewController = nil
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user