2020-01-04 21:25:15 +00:00
|
|
|
//
|
|
|
|
// AssetPickerSheetContainerViewController.swift
|
|
|
|
// Tusker
|
|
|
|
//
|
|
|
|
// Created by Shadowfacts on 1/1/20.
|
|
|
|
// Copyright © 2020 Shadowfacts. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
import UIKit
|
|
|
|
import SheetController
|
|
|
|
import Photos
|
|
|
|
|
|
|
|
class AssetPickerSheetContainerViewController: SheetContainerViewController {
|
|
|
|
|
|
|
|
let assetPicker = AssetPickerViewController()
|
|
|
|
|
|
|
|
init() {
|
|
|
|
super.init(content: assetPicker)
|
|
|
|
|
|
|
|
assetPicker.view.translatesAutoresizingMaskIntoConstraints = false
|
|
|
|
assetPicker.view.layer.masksToBounds = true
|
|
|
|
|
|
|
|
delegate = self
|
|
|
|
assetPicker.delegate = self
|
|
|
|
detents = [.bottom, .middle, .top]
|
|
|
|
|
|
|
|
overrideUserInterfaceStyle = .dark
|
|
|
|
}
|
|
|
|
|
|
|
|
required init?(coder: NSCoder) {
|
|
|
|
fatalError("init(coder:) has not been implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
override func viewDidLoad() {
|
|
|
|
assetPicker.view.layer.cornerRadius = view.bounds.width * 0.02
|
2020-03-17 00:48:01 +00:00
|
|
|
// don't round bottom corners, since they'll always be cut off by the device
|
|
|
|
assetPicker.view.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]
|
2020-01-04 21:25:15 +00:00
|
|
|
|
|
|
|
super.viewDidLoad()
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
extension AssetPickerSheetContainerViewController: SheetContainerViewControllerDelegate {
|
|
|
|
func sheetContainerContentScrollView(_ sheetContainer: SheetContainerViewController) -> UIScrollView? {
|
|
|
|
if let vc = assetPicker.visibleViewController as? UITableViewController {
|
|
|
|
return vc.tableView
|
|
|
|
} else if let vc = assetPicker.visibleViewController as? UICollectionViewController {
|
|
|
|
return vc.collectionView
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
func sheetContainer(_ sheetContainer: SheetContainerViewController, topContentOffsetForScrollView scrollView: UIScrollView) -> CGFloat {
|
|
|
|
return assetPicker.navigationBar.bounds.height
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
extension AssetPickerSheetContainerViewController: UINavigationControllerDelegate {
|
|
|
|
func navigationController(_ navigationController: UINavigationController, didShow viewController: UIViewController, animated: Bool) {
|
|
|
|
contentScrollViewChanged()
|
|
|
|
// viewController.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(donePressed))
|
|
|
|
}
|
|
|
|
}
|