我想在我的View Controller中简单地放置一个Camera View.
我进口的AVFoundation顶部,以及UIImagePickerControllerDelegate与UINavigationControllerDelegate类.
但是,每当我尝试使用时AVCaptureStillImageOutput,Xcode告诉我它在iOS10中已被弃用,我应该使用AVCapturePhotoOutput.这是完全没问题,但是,只要我想打电话stillImageOutput.outputSettings,.outputSettings它本身就不可用.因此,我必须使用AVAVCaptureStillImageOutput它才能工作,但我有多个警告,因为在iOS10中不推荐使用此功能.
我搜索和搜索,但无法真正找到解决方案.我将衷心感谢您的帮助.我正在学习,所以任何解释都会很棒!代码如下.
import UIKit
import AVFoundation
class CameraView: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
var captureSession : AVCaptureSession?
var stillImageOutput : AVCaptureStillImageOutput?
var previewLayer : AVCaptureVideoPreviewLayer?
@IBOutlet var cameraView: UIView!
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
captureSession = AVCaptureSession()
captureSession?.sessionPreset = AVCaptureSessionPreset1920x1080
var backCamera = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeVideo)
var error : NSError?
do {
var input = try! AVCaptureDeviceInput (device: backCamera)
if …Run Code Online (Sandbox Code Playgroud) 所以,我花了两天时间试图弄清楚如何在Swift 3中添加UIButton周围的填充.我设置了一个自定义图像(不是背景图像)并尝试使用以下代码增加可点击区域:
backButton.imageEdgeInsets = UIEdgeInsets(top: -44, left: -44, bottom: -44, right: -44)
Run Code Online (Sandbox Code Playgroud)
所以,最近我一直试图在Swift 3中实现从后到前摄像头切换摄像机视图的功能.但是,没有运气.
目前,我的默认视图来自后置摄像头 - 我可以用它拍照然后重新拍摄.但任何人都可以帮助我,并显示如何双击屏幕切换相机或只是使用指定的按钮切换它们?谢谢!
import UIKit
import AVFoundation
import FirebaseDatabase
class CameraView: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
override var prefersStatusBarHidden: Bool {
return true
}
var captureSession : AVCaptureSession!
var stillImageOutput : AVCaptureStillImageOutput!
var previewLayer : AVCaptureVideoPreviewLayer!
@IBOutlet var cameraView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
previewLayer?.frame = …Run Code Online (Sandbox Code Playgroud)