fix: QR scanner crash - add previewLayer as sublayer in layout() instead of init
This commit is contained in:
parent
ae96218d20
commit
32f722bd34
@ -91,7 +91,7 @@ class QRScannerHostView: NSView {
|
|||||||
override init(frame: CGRect) {
|
override init(frame: CGRect) {
|
||||||
super.init(frame: frame)
|
super.init(frame: frame)
|
||||||
wantsLayer = true
|
wantsLayer = true
|
||||||
layer = previewLayer
|
// 不在 init 时设置 layer = previewLayer,等 layout 时再添加为 sublayer
|
||||||
}
|
}
|
||||||
|
|
||||||
required init?(coder: NSCoder) {
|
required init?(coder: NSCoder) {
|
||||||
@ -100,6 +100,9 @@ class QRScannerHostView: NSView {
|
|||||||
|
|
||||||
override func layout() {
|
override func layout() {
|
||||||
super.layout()
|
super.layout()
|
||||||
|
if previewLayer.superlayer == nil {
|
||||||
|
layer?.addSublayer(previewLayer)
|
||||||
|
}
|
||||||
previewLayer.frame = bounds
|
previewLayer.frame = bounds
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user