Skip to content

malt03/PictureInPicture

Repository files navigation

PictureInPicture

Platform Language CocoaPods Carthage compatible License

ScreenShot

Usage

Configure

If you want to change from default value.

let shadowConfig = PictureInPicture.ShadowConfig(color: .black, offset: .zero, radius: 10, opacity: 1)
PictureInPicture.configure(movable: true,
                           scale: 0.3,
                           margin: 10,
                           defaultEdge: .left,
                           shadowConfig: shadowConfig)

Default Config

PictureInPicture.configure(movable: true,
                           scale: 0.2,
                           margin: 8,
                           defaultEdge: .right,
                           shadowConfig: .default)

Default Shadow Config

ShadowConfig(color: .black, offset: .zero, radius: 5, opacity: 0.5)

Main Functions

PictureInPicture.shared.present(with: viewController) // Present
PictureInPicture.shared.dismiss()                     // Dismiss
PictureInPicture.shared.makeSmaller()                 // Make Smaller
PictureInPicture.shared.makeLarger()                  // Make Larger
PictureInPicture.shared.presentedViewController       // Get presented ViewController

Notifications

  • PictureInPictureMadeSmaller
  • PictureInPictureMadeLarger
  • PictureInPictureDidBeginMakingSmaller
  • PictureInPictureDidBeginMakingLarger
  • PictureInPictureMoved
    • PictureInPictureOldCornerUserInfoKey # PictureInPicture.Corner
    • PictureInPictureNewCornerUserInfoKey # PictureInPicture.Corner
  • PictureInPictureDismissed

Other Constants

  • UIWindowLevelPictureInPicture

Installation

Via CocoaPods

pod "PictureInPicture"

Via Carthage

github "malt03/PictureInPicture"

Author

Koji Murata, malt.koji@gmail.com

License

PictureInPicture is available under the MIT license. See the LICENSE file for more info.