我有一个视图(让我们叫它scanView),它可以打开摄像头来扫描二维码。我已经在它上面放置了一个按钮来打开或关闭闪光灯。我面临的问题是按钮正在被点击,但它不可见,也就是说,我可以通过点击放置按钮的屏幕上的按钮来打开或关闭闪光灯,但按钮不可见。我检查了Alpha of按钮,尝试将子视图也带到前面。毫无办法。是不是和iOS的QR阅读器相关的问题?下面是QR Reader的实现:
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文件中添加了按钮
发布于 2020-08-04 18:29:04
学习如何使用Debug View Hierarchy,这样您就可以清楚地看到按钮在屏幕上的位置以及为什么它不可见。
我认为您的按钮图像有问题,因为您可以单击按钮,但无法看到它,请确保图像正确地添加到按钮上。
记住一件事,如果它是可点击的,那么它就在那里,专注于它的呈现。另外,尝试添加一个背景色并删除图像,以确保您的其他实现工作正常。
https://stackoverflow.com/questions/63243494
复制相似问题