// // ViewController.swift // SheetImagePickerTest // // Created by Shadowfacts on 9/23/19. // Copyright © 2019 Shadowfacts. All rights reserved. // import UIKit import SheetImagePicker class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. view.backgroundColor = .green } @IBAction func buttonPressed(_ sender: Any) { let content = UIViewController() content.view.translatesAutoresizingMaskIntoConstraints = false content.view.layer.masksToBounds = true content.view.layer.cornerRadius = view.bounds.width * 0.02 let blurEffect = UIBlurEffect(style: .systemChromeMaterial) let blurView = UIVisualEffectView(effect: blurEffect) blurView.translatesAutoresizingMaskIntoConstraints = false let label = UILabel() label.translatesAutoresizingMaskIntoConstraints = false label.text = "Hello, sheet!" blurView.contentView.addSubview(label) content.view.addSubview(blurView) NSLayoutConstraint.activate([ content.view.leadingAnchor.constraint(equalTo: blurView.contentView.leadingAnchor), content.view.trailingAnchor.constraint(equalTo: blurView.contentView.trailingAnchor), content.view.topAnchor.constraint(equalTo: blurView.contentView.topAnchor), content.view.bottomAnchor.constraint(equalTo: blurView.contentView.bottomAnchor), label.centerXAnchor.constraint(equalTo: blurView.contentView.centerXAnchor), label.centerYAnchor.constraint(equalTo: blurView.contentView.centerYAnchor) ]) let sheet = SheetContainerViewController(content: content) sheet.delegate = self sheet.detents = [.bottom, .middle, .top] present(sheet, animated: true) } } extension ViewController: SheetContainerViewControllerDelegate { func sheetContainer(_ sheetContainer: SheetContainerViewController, willSnapToDetent detent: Detent) -> Bool { if detent == .bottom { sheetContainer.dismiss(animated: true) return false } return true } }