【发布时间】:2016-06-23 14:41:11
【问题描述】:
我正在尝试在我的应用中显示自定义摄像头视图的视频预览,但是目前预览非常偏离中心 - 在使用前置摄像头时尤其明显。
我是这样定位的:
if let previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) {
previewLayer.bounds = scanningView.bounds
previewLayer.position = CGPointMake(CGRectGetMidX(scanningView.bounds), CGRectGetMidY(scanningView.bounds))
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
scanningView.layer.insertSublayer(previewLayer, atIndex: 0)
}
但是预览的中心不在它所在视图的中心。我怎样才能做到这一点?
【问题讨论】:
-
你在哪里写了这个初始化,我的意思是在
viewDidLoad或其他地方? -
可以在 viewDidAppear 中试试吗?
-
在 viewDidAppear 中很好,但初始化有点慢,所以我想我会在 viewdidload 中初始化它并添加到 viewDidAppear 中的视图
-
在 viewDidLoad 中,自动布局还没有完成它的工作,所以你的
scanningView没有它的最终位置和边界。我之前遇到过这个问题,找不到更好的位置来放置预览层,也许有人有更好的解决方案:)
标签: ios swift camera avcapturesession