2017-06-11 4 views
1

Ich baue eine iOS-App mit Swift, die QR-Scanner-Funktionalität erfordert.Wie Overlay auf AVCaptureVideoPreviewLayer in IOS mit Swift hinzufügen?

Ich habe einen QR-Scanner mit AVFoundation implementiert, im Moment sieht mein Aufnahmebildschirm wie ein Videoaufnahmebildschirm aus, dh AVCaptureVideoPreviewLayer zeigt, was von der Kamera aufgenommen wird.

Aber da es ein QR-Scanner und kein reguläres Bild oder Video-Capture ist, würde ich meine VideoPreviewLayer so aussehen mag: enter image description here

Ich verstehe das durch Hinzufügen eines weiteren VideoPreviewLayer oben auf einem erzielt werden kann VideoPreviewLayer.

Meine Fragen sind:

  1. Wie füge ich die Grenzen nur an den Kanten in der oberen (oder kleiner) previewlayer?

  2. Wie ändert man die Helligkeit für den VideoPreviewLayer im Hintergrund?

  3. Wie ignoriert man Medien, die von der Hintergrundebene erfasst werden? Kurz

+0

ich das Tutorial frameview von @ Singh und benutzen Sie diesen Beitrag vorgeschlagen mischen würde: https: // Stackoverflow .com/q/44282738/3900902 um die Ecken zu erstellen. Hoffe das hilft. – Paulo

+0

@Paulo: das von Singh vorgeschlagene Tutorial framview? –

+0

Oh, sie haben ihre Antwort entfernt. Hier ist das Tutorial dafür: http://www.appcoda.com/barcode-reader-swift/. Was die Gradient-Ebene betrifft, bin ich bei iOS/swift nicht besonders gut, aber ich nehme an, dass Sie eine Unter-Ebene mit einer niedrigeren Deckkraft hinzufügen würden – Paulo

Antwort

0

Lange Geschichte: Sie können AVCaptureVideoPreviewLayer verwenden für die Videoaufnahme, erstellen Sie einen anderen CALayer() und verwenden layer.insertSublayer (... vor: ...) Ihre "custom" Schicht über dem Video einfügen Schicht und durch die Gewohnheit meine ich doch nur ein weiteres CALayer mit sagen wir mal

layer.contents = spinner.cgImage 

hier ein bisschen mehr detailed instructions

Verwandte Themen