Skip to content

Show camera layer as a background to any UIView

License

Notifications You must be signed in to change notification settings

yonat/CameraBackground

Repository files navigation

UIView+CameraBackground

Show camera layer as a background to any UIView.

Swift Version Build Status License CocoaPods Compatible
Platform PRs Welcome

Features

  • Both front and back camera supported.
  • Flash modes: auto, on, off.
  • Countdown timer.
  • Tap to focus.
  • Pinch to zoom.

 

Usage

view.addCameraBackground()
// ...
view.takeCameraSnapshot( {
      // animate snapshot capture
      self.view.alpha = 0
      UIView.animate(withDuration: 1) { self.view.alpha = 1 }
  },
  completion: { (capturedImage, error) -> () in
      self.view.freeCameraSnapshot() // unfreeze image
      // ... handle capturedImage and error
  }
)
// ...
view.removeCameraBackground()

Important: Remember to add NSCameraUsageDescription to your Info.plist.

Layout

You can change the location of the camera controls (flash, timer, and front/back camera selection) or hide them altogether:

view.addCameraBackground(
   showButtons: true,
   buttonMargins: UIEdgeInsets(top: 30, left: 10, bottom: 10, right: 10),
   buttonsLocation: .left
)

Installation

CocoaPods:

pod 'CameraBackground'

Swift Package Manager:

dependencies: [
    .package(url: "https://github.com/yonat/CameraBackground", from: "1.7.2")
]

Meta

@yonatsharon

https://github.com/yonat/CameraBackground