Nenhuma Descrição

SideViewController.swift 1.7KB

    // // SideViewController.swift // PaiAi // // Created by ffib on 2018/12/12. // Copyright © 2018 yb. All rights reserved. // import UIKit open class SideViewController: UIViewController, PresentViewController { public var animator: PresentAnimatable = SideAnimator() open var animationView: UIView? { return nil } override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) commonInit() } public required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) commonInit() } override open func viewDidLoad() { super.viewDidLoad() view.isUserInteractionEnabled = true view.backgroundColor = UIColor(gray: 52, a: 0) configurationGestures() } private func commonInit() { modalPresentationStyle = .custom setTransitioningDelegate(self) } @objc public func disappear() { dismiss(animated: true, completion: nil) } } /// gesture fileprivate extension SideViewController { func configurationGestures() { configurationTapGesture() configurationSwipeGesture() } func configurationTapGesture() { let tap = UITapGestureRecognizer(target: self, action: #selector(disappear)) tap.setDelegate(self) view.addGestureRecognizer(tap) } func configurationSwipeGesture() { let swipe = UISwipeGestureRecognizer(target: self, action: #selector(disappear)) swipe.setDelegate(self) swipe.direction = .left view.addGestureRecognizer(swipe) } }