Music_Player3/relax.offline.mp3.music/MP/MPPositive/ViewControllers/Base(基类,导航栏,标签栏)/MPPositive_PresentationController.swift
2024-08-16 18:41:40 +08:00

94 lines
3.0 KiB
Swift

//
// MPPositive_PresentationController.swift
// MusicPlayer
//
// Created by Mr.Zhou on 2024/5/10.
//
import UIKit
///
enum MPPositive_PresentModal{
///
case PlayerList
///
case MoreOperations
///
case NewList
///
case PlayListEdit
///
case SortType
///
case Guide
}
class MPPositive_PresentationController: UIPresentationController {
//
fileprivate lazy var maskView: UIView = {
let corverView = UIView()
return corverView
}()
// MARK: - ()
override func containerViewWillLayoutSubviews() {
super.containerViewWillLayoutSubviews()
guard let _ = presentedView?.superview else {
presentedViewController.dismiss(animated: true, completion: nil)
return
}
//
switch MPPositive_ModalType {
case .PlayerList:
presentedView?.snp.makeConstraints({ (make) in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(498*width)
})
case .MoreOperations:
presentedView?.snp.makeConstraints({ (make) in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(350*width+bottomPadding)
})
case .NewList:
presentedView?.snp.makeConstraints({ (make) in
make.center.equalToSuperview()
make.width.equalTo(270*width)
make.height.equalTo(178*width)
})
case .PlayListEdit:
presentedView?.snp.makeConstraints({ (make) in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(270*width+bottomPadding)
})
case .Guide:
presentedView?.snp.makeConstraints({ (make) in
make.center.equalToSuperview()
make.width.equalTo(282*width)
make.height.equalTo(354*width)
})
case .SortType:
presentedView?.snp.makeConstraints({ (make) in
make.center.equalToSuperview()
make.width.equalTo(270*width)
make.height.equalTo(120*width)
})
}
//
setMask()
}
//
fileprivate func setMask() -> Void {
//
containerView?.insertSubview(maskView, at: 0)
//
maskView.backgroundColor = UIColor(white: 0.0, alpha: 0.8)
maskView.frame = containerView!.bounds
guard MPPositive_ModalType != .Guide else {
return
}
let tap = UITapGestureRecognizer(target: self, action: #selector(maskClick(_:)))
maskView.addGestureRecognizer(tap)
}
//
@objc fileprivate func maskClick(_ sender:UITapGestureRecognizer){
presentedViewController.dismiss(animated: true, completion: nil)
}
}