From 797b841f070a6aed08ea28d56ea8789937f9516f Mon Sep 17 00:00:00 2001 From: fish Date: Mon, 20 Jul 2026 22:00:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E4=B9=A0=E6=A8=A1=E5=BC=8F=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E8=87=AA=E5=8A=A8=E6=A3=80=E6=9F=A5=EF=BC=8C=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E7=A1=AE=E8=AE=A4=E6=8C=89=E9=92=AE=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- LearnEnglish/LearnEnglish/Views/QuizViewController.swift | 5 +++-- LearnEnglish/LearnEnglish/Views/SpellingInputView.swift | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/LearnEnglish/LearnEnglish/Views/QuizViewController.swift b/LearnEnglish/LearnEnglish/Views/QuizViewController.swift index 7827180..4b06f4e 100644 --- a/LearnEnglish/LearnEnglish/Views/QuizViewController.swift +++ b/LearnEnglish/LearnEnglish/Views/QuizViewController.swift @@ -222,9 +222,10 @@ final class QuizViewController: UIViewController { if config.isStudyMode { nextButton.isHidden = true spellingView.onChange = { [weak self] in - guard let self, spellingView.isComplete else { return } - submitSpelling(spellingView.typedWord(), for: question) + guard let self else { return } + spellingView.confirmButton?.isEnabled = spellingView.isComplete } + spellingView.confirmButton?.isEnabled = false } else { spellingView.onChange = { [weak self] in guard let self else { return } diff --git a/LearnEnglish/LearnEnglish/Views/SpellingInputView.swift b/LearnEnglish/LearnEnglish/Views/SpellingInputView.swift index 44a64b1..6474088 100644 --- a/LearnEnglish/LearnEnglish/Views/SpellingInputView.swift +++ b/LearnEnglish/LearnEnglish/Views/SpellingInputView.swift @@ -3,6 +3,7 @@ import UIKit final class SpellingInputView: UIView, UITextFieldDelegate { var onChange: (() -> Void)? var onSubmit: (() -> Void)? + private(set) var confirmButton: UIButton? private let hiddenField = UITextField() private let stack = UIStackView() @@ -73,6 +74,7 @@ final class SpellingInputView: UIView, UITextFieldDelegate { return outgoing } let glassButton = UIButton(configuration: glassConfig) + confirmButton = glassButton glassButton.addAction(UIAction { [weak self] _ in self?.onSubmit?() }, for: .touchUpInside)