【发布时间】:2020-11-24 08:23:47
【问题描述】:
我有一个视图(我们称之为 scanView),它可以打开相机扫描二维码。我在上面放了一个按钮,可以打开或关闭闪光灯。我面临的问题是按钮被单击但不可见,即我可以通过单击放置按钮的屏幕来打开或关闭闪光灯,但按钮不可见。我检查了按钮的 Alpha,也尝试将子视图放在前面。没有任何效果。是与 iOS 的 QR 阅读器相关的问题吗? 下面是二维码阅读器的实现:
captureSession = AVCaptureSession()
guard let videoCaptureDevice = AVCaptureDevice.default(for: .video) else { return }
let videoInput: AVCaptureDeviceInput
do {
videoInput = try AVCaptureDeviceInput(device: videoCaptureDevice)
} catch {
return
}
if (captureSession.canAddInput(videoInput)) {
captureSession.addInput(videoInput)
} else {
failed()
return
}
let metadataOutput = AVCaptureMetadataOutput()
if (captureSession.canAddOutput(metadataOutput)) {
captureSession.addOutput(metadataOutput)
metadataOutput.setMetadataObjectsDelegate(self, queue: DispatchQueue.main)
metadataOutput.metadataObjectTypes = [.qr]
} else {
failed()
return
}
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
previewLayer.frame = scanView.layer.bounds
previewLayer.videoGravity = .resizeAspectFill
scanView.layer.addSublayer(previewLayer)
captureSession.startRunning()
正如您在上面看到的,为了清晰起见,我还添加了背景颜色和背景图像。据我说,按钮在层次结构中看起来很好。 在这个 scanView 上,我正在从我的 xib 文件中添加按钮
【问题讨论】:
-
检查按钮的宽度和高度以及标题和背景图片(如果有)
标签: ios swift uibutton qr-code