Skip to content

Instantly share code, notes, and snippets.

@vialyx
Created June 5, 2018 14:29
Show Gist options
  • Save vialyx/2ddf652ba262ced0d0bac4a4db4be72b to your computer and use it in GitHub Desktop.
Save vialyx/2ddf652ba262ced0d0bac4a4db4be72b to your computer and use it in GitHub Desktop.
//: A UIKit based Playground for presenting user interface
import UIKit
import PlaygroundSupport
final class MyViewController: UIViewController {
override func loadView() {
let view = UIView()
view.backgroundColor = .white
let label = UILabel()
label.frame = CGRect(x: 150, y: 200, width: 200, height: 20)
label.text = "Tap to open new screen"
label.textColor = .black
label.isUserInteractionEnabled = true
label.addGestureRecognizer(
UITapGestureRecognizer(target: self, action: #selector(labelDidTap))
)
view.addSubview(label)
self.view = view
}
@objc
private func labelDidTap() {
let controller = DetailsViewController()
present(controller, animated: true, completion: nil)
}
}
final class DetailsViewController: UIViewController {
override func loadView() {
let view = UIView()
view.backgroundColor = .white
let label = UILabel()
label.frame = CGRect(x: 150, y: 200, width: 200, height: 20)
label.text = "Tap to dismiss"
label.textColor = .black
label.isUserInteractionEnabled = true
label.addGestureRecognizer(
UITapGestureRecognizer(target: self, action: #selector(labelDidTap))
)
view.addSubview(label)
self.view = view
}
@objc
private func labelDidTap() {
dismiss(animated: true, completion: nil)
}
}
// Present the view controller in the Live View window
PlaygroundPage.current.liveView = MyViewController()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment