123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- //
- // PhotoEditor+StickersViewController.swift
- // Pods
- //
- // Created by Mohamed Hamed on 6/16/17.
- //
- //
- import Foundation
- import UIKit
- extension PhotoEditorViewController {
-
- func addStickersViewController() {
- stickersVCIsVisible = true
- hideToolbar(hide: true)
- self.canvasImageView.isUserInteractionEnabled = false
- stickersViewController.stickersViewControllerDelegate = self
-
- for image in self.stickers {
- stickersViewController.stickers.append(image)
- }
- self.addChild(stickersViewController)
- self.view.addSubview(stickersViewController.view)
- stickersViewController.didMove(toParent: self)
- let height = view.frame.height
- let width = view.frame.width
- stickersViewController.view.frame = CGRect(x: 0, y: self.view.frame.maxY , width: width, height: height)
- }
-
- func removeStickersView() {
- stickersVCIsVisible = false
- self.canvasImageView.isUserInteractionEnabled = true
- UIView.animate(withDuration: 0.3,
- delay: 0,
- options: UIView.AnimationOptions.curveEaseIn,
- animations: { () -> Void in
- var frame = self.stickersViewController.view.frame
- frame.origin.y = UIScreen.main.bounds.maxY
- self.stickersViewController.view.frame = frame
-
- }, completion: { (finished) -> Void in
- self.stickersViewController.view.removeFromSuperview()
- self.stickersViewController.removeFromParent()
- self.hideToolbar(hide: false)
- })
- }
- }
- extension PhotoEditorViewController: StickersViewControllerDelegate {
-
- func didSelectView(view: UIView) {
- self.removeStickersView()
-
- view.center = canvasImageView.center
- self.canvasImageView.addSubview(view)
- //Gestures
- addGestures(view: view)
- }
-
- func didSelectImage(image: UIImage) {
- self.removeStickersView()
-
- let imageView = UIImageView(image: image)
- imageView.contentMode = .scaleAspectFit
- imageView.frame.size = CGSize(width: 150, height: 150)
- imageView.center = canvasImageView.center
-
- self.canvasImageView.addSubview(imageView)
- //Gestures
- addGestures(view: imageView)
- }
-
- func stickersViewDidDisappear() {
- stickersVCIsVisible = false
- hideToolbar(hide: false)
- }
-
- func addGestures(view: UIView) {
- //Gestures
- view.isUserInteractionEnabled = true
-
- let panGesture = UIPanGestureRecognizer(target: self,
- action: #selector(PhotoEditorViewController.panGesture))
- panGesture.minimumNumberOfTouches = 1
- panGesture.maximumNumberOfTouches = 1
- panGesture.delegate = self
- view.addGestureRecognizer(panGesture)
-
- let pinchGesture = UIPinchGestureRecognizer(target: self,
- action: #selector(PhotoEditorViewController.pinchGesture))
- pinchGesture.delegate = self
- view.addGestureRecognizer(pinchGesture)
-
- let rotationGestureRecognizer = UIRotationGestureRecognizer(target: self,
- action:#selector(PhotoEditorViewController.rotationGesture) )
- rotationGestureRecognizer.delegate = self
- view.addGestureRecognizer(rotationGestureRecognizer)
-
- let tapGesture = UITapGestureRecognizer(target: self, action: #selector(PhotoEditorViewController.tapGesture))
- view.addGestureRecognizer(tapGesture)
-
- }
- }
|