|
//
// FFPresentationController.swift
// FFAlert
//
// Created by FFIB on 2017/11/13.
// Copyright © 2017年 FFIB. All rights reserved.
//
import UIKit
class FFPresentationController: UIPresentationController {
private let dimmingView = UIView()
override init(presentedViewController: UIViewController, presenting presentingViewController: UIViewController?) {
super.init(presentedViewController: presentedViewController, presenting: presentingViewController)
dimmingView.backgroundColor = UIColor(white: 0, alpha: 0.4)
}
override func presentationTransitionWillBegin() {
super.presentationTransitionWillBegin()
presentingViewController.view.tintAdjustmentMode = .dimmed
dimmingView.alpha = 0
containerView?.addSubview(dimmingView)
let coordinator = presentedViewController.transitionCoordinator
coordinator?.animate(alongsideTransition: { _ in self.dimmingView.alpha = 1 }, completion: nil)
}
override func dismissalTransitionWillBegin() {
super.dismissalTransitionWillBegin()
presentingViewController.view.tintAdjustmentMode = .automatic
let coordinator = presentedViewController.transitionCoordinator
coordinator?.animate(alongsideTransition: { _ in self.dimmingView.alpha = 0 }, completion: nil)
}
override func containerViewWillLayoutSubviews() {
super.containerViewWillLayoutSubviews()
if let containerView = containerView {
dimmingView.frame = containerView.frame
}
}
}
|