/DraggableFloatingViewController

This view controller will animate the view just like Youtube mobile app, while tapping on video a UIView pops up from right corner of the screen and the view can be dragged to right corner through Pan Gesture and more features are there as Youtube iOS app.

Primary LanguageObjective-CMIT LicenseMIT

DraggableFloatingViewController

Like YouTube app

DraggableFloatingViewController allows you to play videos on a floating mini window at the bottom of your screen from sites like YouTube, Vimeo & Facebook or custom video , yes you have to prepare your video view for that.

How it works

The view will animate the view just like Youtube mobile app, while tapping on video a UIView pops up from right corner of the screen and the view can be dragged to right corner through Pan Gesture and more features are there as Youtube iOS app

Screenshot

Output sample

Usage

extend this class

set your video view in "viewDidLoad" of subclass

override func viewDidLoad() {

    self.setupViewsWithVideoView(yourMoivePlayer.view, //UIView
        videoViewHeight: yourPlayerHeight, //CGFloat
        minimizeButton: yourButton //UIButton
    )

    // add your view to bodyView
    self.bodyView.addSubview(yourView)
}

in parent view controller

show

func showSecondController() {
    removeDraggableFloatingViewController()
    self.videoViewController = VideoDetailViewController()
    self.videoViewController.delegate = self
    self.videoViewController.showVideoViewControllerOnParentVC(self)
}

dismiss

func removeDraggableFloatingViewController() {
    if self.videoViewController != nil {
        self.videoViewController.removeAllViews()
        self.videoViewController = nil
    }
}

Please edit "info.plist"

To disable swipe down gesture of Notification Center, you need to edit "info.plist" to hide status bar. http://stackoverflow.com/questions/18059703/cannot-hide-status-bar-in-ios7 editInfoPlist




please override if you want

override func didExpand() {
    showVideoControl()
}
override func didMinimize() {
    hideVideoControl()
}

Please see demo app

If you want to use this, you have to check this demo app.