- Picture in Picture for iOS (iPhone, iPad)
- iOS 8.0+
- Swift 5.0
- Xcode 11
PIPKit is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'PIPKit'
For iOS 8+ projects with Carthage
github "Kofktu/PIPKit"
public protocol PIPUsable {
var initialState: PIPState { get }
var initialPosition: PIPPosition { get }
var pipEdgeInsets: UIEdgeInsets { get }
var pipSize: CGSize { get }
var pipShadow: PIPShadow? { get }
var pipCorner: PIPCorner? { get }
func didChangedState(_ state: PIPState)
func didChangePosition(_ position: PIPPosition)
}
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)
}
func setNeedUpdatePIPSize()
func startPIPMode()
func stopPIPMode()
class PIPViewController: UIViewController, PIPUsable {}
let viewController = PIPViewController()
PIPKit.show(with: viewController)
PIPKit.dismiss(animated: true)
class PIPViewController: UIViewController, PIPUsable {
func updatePIPSize() {
pipSize = CGSize()
setNeedUpdatePIPSize()
}
}
class PIPViewController: UIViewController, PIPUsable {
func fullScreenAndPIPMode() {
if PIPKit.isPIP {
stopPIPMode()
} else {
startPIPMode()
}
}
func didChangedState(_ state: PIPState) {}
}
Taeun Kim (kofktu), [email protected]
PIPKit is available under the MIT
license. See the LICENSE
file for more info.