大小写切换按钮移至导航栏右侧

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-07-20 21:27:41 +08:00
parent b693874f69
commit 86b5cabe17
@@ -36,6 +36,10 @@ final class QuizViewController: UIViewController {
target: nil,
action: nil
)
private lazy var caseToggleItem = UIBarButtonItem(
image: UIImage(systemName: "textformat"),
style: .plain, target: self, action: #selector(toggleCase)
)
private var current: QuizQuestion? {
questions.indices.contains(currentIndex) ? questions[currentIndex] : nil
@@ -68,10 +72,6 @@ final class QuizViewController: UIViewController {
view.backgroundColor = .systemBackground
title = config.mode.rawValue
navigationItem.largeTitleDisplayMode = .never
navigationItem.leftBarButtonItem = UIBarButtonItem(
image: UIImage(systemName: "textformat"),
style: .plain, target: self, action: #selector(toggleCase))
updateCaseButton()
buildLayout()
showQuestion()
}
@@ -200,7 +200,14 @@ final class QuizViewController: UIViewController {
resultLabel.isHidden = true
resultPhoneticLabel.isHidden = true
navigationItem.rightBarButtonItem = config.mode == .zhToEn ? nil : navSpeakerItem
if config.mode == .spelling {
updateCaseButton()
navigationItem.rightBarButtonItems = [navSpeakerItem, caseToggleItem]
} else if config.mode == .zhToEn {
navigationItem.rightBarButtonItems = nil
} else {
navigationItem.rightBarButtonItem = navSpeakerItem
}
let isSpelling = config.mode == .spelling
let isDictation = config.mode == .dictation
@@ -411,7 +418,7 @@ final class QuizViewController: UIViewController {
}
private func updateCaseButton() {
navigationItem.leftBarButtonItem?.tintColor = isUppercase ? Theme.Color.accent : .tertiaryLabel
caseToggleItem.tintColor = isUppercase ? Theme.Color.accent : .tertiaryLabel
}
@objc private func speakCurrentWord() {