我有一个水平堆栈视图,我添加了子视图(7个单元格).堆栈中的每个单元格都具有超出视图边界的圆形徽章(负面约束).运行时,如下所示,每个单元格位于上一个单元格徽章的顶部.我想更改顺序,以便徽章完全可见.
尝试使用Z索引,但它没有帮助,因为您可以在以下视图层次结构中看到图层以某种方式不平坦:
有任何想法或建议如何做到这一点?
谢谢.
以下 Swift 代码使用新的 iOS11 Vision 框架来分析图像并查找其中的二维码。
let barcodeRequest = VNDetectBarcodesRequest(completionHandler {(request, error) in
for result in request.results! {
if let barcode = result as? VNBarcodeObservation {
if let desc = barcode.barcodeDescriptor as? CIQRCodeDescriptor {
let content = String(data: desc.errorCorrectedPayload, encoding: .isoLatin1)
print(content) //Prints garbage
}
}
}
}
let image = //some image with QR code...
let handler = VNImageRequestHandler(cgImage: image, options: [.properties : ""])
try handler.perform([barcodeRequest])
Run Code Online (Sandbox Code Playgroud)
然而,问题是返回的是从二维码读取的desc.errorCorrectedPayload原始编码数据。
为了从描述符中获取可打印的内容字符串,必须解码该原始数据(例如,根据前 4 位确定模式)。
它变得更加有趣,因为苹果已经在 AVFoundation 中拥有用于解码原始数据的代码。该类AVMetadataMachineReadableCodeObject已经具有.stringValue …