Skip to content

Latest commit

 

History

History
94 lines (68 loc) · 3.23 KB

README.md

File metadata and controls

94 lines (68 loc) · 3.23 KB

TVOSSlideViewController

Container view controller with left and right drawer controlling by pan gesture for tvOS.
inspired by the zova tvos app.

Features

  • Optional left and/or right drawers.
  • Customisable slide range.
  • Customisable trashold for select state.
  • Customisable shadow.
  • Storyboard support.
  • Autolayout support.
  • Setup trough the code without storyboard.
  • Shrinks content
  • Parallax

Demo

shrinks = false

alt tag

shrinks = true

alt tag

parallax = true

alt tag

Install

CocoaPods

pod 'TVOSSlideViewController'

Usage

Storyboard

  • You need to subclass TVOSSlideViewController and set your view controller instantce's class to your subclass in IB.
  • Customise TVOSSlideViewControllers @IBInspectable properties in interface builder without touching code
  • call setup(contentViewController:) function in your subclass for setup content view.
  • You can inject whatever you want as content.

Code

Different from storyboard implementation, you can initilze TVOSSlideViewController directly with:

public init(contentViewController: UIViewController, leftView: UIView?, rightView: UIView?)

TVOSSlideViewControllerDelegate

  • This is the control protocol of TVOSSlideViewConroller.
  • Events like didSelect, didUpdate, didCancel could be handled by implementing this delegate.
  • amount: CGFlaot returns the drawers visibility range between 0-1 for easier drawer animation implementation.
@objc public protocol TVOSSlideViewControllerDelegate {
  optional func slideViewControllerDidBeginUpdateLeftDrawer(slideViewController: TVOSSlideViewController)
  optional func slideViewControllerDidBeginUpdateRightDrawer(slideViewController: TVOSSlideViewController)
  optional func slideViewControllerDidUpdateLeftDrawer(slideViewController: TVOSSlideViewController, amount: CGFloat)
  optional func slideViewControllerDidUpdateRightDrawer(slideViewController: TVOSSlideViewController, amount: CGFloat)
  optional func slideViewControllerDidEndUpdateLeftDrawer(slideViewController: TVOSSlideViewController, amount: CGFloat)
  optional func slideViewControllerDidEndUpdateRightDrawer(slideViewController: TVOSSlideViewController, amount: CGFloat)
  optional func slideViewControllerDidSelectLeftDrawer(slideViewController: TVOSSlideViewController)
  optional func slideViewControllerDidSelectRightDrawer(slideViewController: TVOSSlideViewController)
}

TVOSSlideViewControllerShadow

  • Set it up in interface builder with draggin and dropping object template to your TVOSSlideViewController instance.
  • Since TVOSSlideViewControllerShadow is a @IBDesignable object, you can set it properties directly from storyboard
  • Programmatically you can set shadow property values.

Authors

Other tvOS projects