@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user