Latest 0.1.0
Homepage https://github.com/Kofktu/PIPKit
License MIT
Platforms ios 8.0
Authors

Swift
CocoaPods
Carthage compatible

  • Picture in Picture for iOS (iPhone, iPad)

pip_default
pip_transition

Requirements

  • iOS 8.0+
  • Swift 4.2
  • XCode 10

Installation

CocoaPods

PIPKit is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod 'PIPKit'

Carthage

For iOS 8+ projects with Carthage

github "Kofktu/PIPKit"

Usage

PIPUsable

public protocol PIPUsable {
    var initialState: PIPState { get }
    var initialPosition: PIPPosition { get }
    var pipSize: CGSize { get }
    func didChangedState(_ state: PIPState)
}

PIPKit

class PIPKit {
    var isPIP: Bool
    var isActive: Bool
    var visibleViewController: PIPKitViewController?

    class func show(with viewController: PIPKitViewController, completion: (() -> Void)? = nil)
    class func dismiss(animated: Bool, completion: (() -> Void)? = nil)
}

PIPKitViewController (UIViewController & PIPUsable)

func setNeedUpdatePIPSize()
func startPIPMode()
func stopPIPMode()

At a Glance

Show & Dismiss

class PIPViewController: UIViewController, PIPUsable {}

let viewController = PIPViewController()
PIPKit.show(with: viewController)
PIPKit.dismiss(animated: true)

Update PIPSize

pip_resize

class PIPViewController: UIViewController, PIPUsable {
    func updatePIPSize() {
        pipSize = CGSize()
        setNeedUpdatePIPSize()
    }
}

FullScreen <-> PIP Mode

class PIPViewController: UIViewController, PIPUsable {
    func fullScreenAndPIPMode() {
        if PIPKit.isPIP {
            stopPIPMode()    
        } else {
            startPIPMode()
        }
    }

    func didChangedState(_ state: PIPState) {}
}

Authors

Taeun Kim (kofktu), [email protected]

License

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

Latest podspec

{
    "name": "PIPKit",
    "version": "0.1.0",
    "summary": "PIP(Picture in Picture) for iOS",
    "description": "Picture in Picture to UIViewController",
    "homepage": "https://github.com/Kofktu/PIPKit",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "[email protected]": "[email protected]"
    },
    "source": {
        "git": "https://github.com/Kofktu/PIPKit.git",
        "tag": "0.1.0"
    },
    "platforms": {
        "ios": "8.0"
    },
    "swift_version": "4.2",
    "source_files": "PIPKit/Classes/**/*"
}

Pin It on Pinterest

Share This