iOS: Text-Scan zerlegt Bloecke in einzelne Zeilen

Ein erkannter Textblock konnte mehrere Zeilen enthalten; die Auswahl uebernahm
dann mehrzeiligen Text. Jetzt wird strikt in einzelne Zeilen zerlegt, sodass
jede Auswahl genau eine Zeile ist.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-29 14:41:50 +02:00
parent e42e11bf23
commit 7a7b40ff99

View File

@@ -99,7 +99,10 @@ struct TextScanView: View {
ZStack(alignment: .bottom) { ZStack(alignment: .bottom) {
if Self.isSupported { if Self.isSupported {
TextLinesScannerRepresentable { erkannt in TextLinesScannerRepresentable { erkannt in
for t in erkannt.reversed() { // Ein erkannter Textblock kann mehrere Zeilen umfassen strikt
// in einzelne Zeilen zerlegen, damit jede Auswahl genau eine ist.
let einzeln = erkannt.flatMap { $0.components(separatedBy: .newlines) }
for t in einzeln.reversed() {
let sauber = t.trimmingCharacters(in: .whitespacesAndNewlines) let sauber = t.trimmingCharacters(in: .whitespacesAndNewlines)
guard sauber.count >= 2, !zeilen.contains(sauber) else { continue } guard sauber.count >= 2, !zeilen.contains(sauber) else { continue }
zeilen.insert(sauber, at: 0) zeilen.insert(sauber, at: 0)