@@ -36,6 +36,10 @@ final class QuizViewController: UIViewController {
|
|||||||
target: nil,
|
target: nil,
|
||||||
action: nil
|
action: nil
|
||||||
)
|
)
|
||||||
|
private lazy var caseToggleItem = UIBarButtonItem(
|
||||||
|
image: UIImage(systemName: "textformat"),
|
||||||
|
style: .plain, target: self, action: #selector(toggleCase)
|
||||||
|
)
|
||||||
|
|
||||||
private var current: QuizQuestion? {
|
private var current: QuizQuestion? {
|
||||||
questions.indices.contains(currentIndex) ? questions[currentIndex] : nil
|
questions.indices.contains(currentIndex) ? questions[currentIndex] : nil
|
||||||
@@ -68,10 +72,6 @@ final class QuizViewController: UIViewController {
|
|||||||
view.backgroundColor = .systemBackground
|
view.backgroundColor = .systemBackground
|
||||||
title = config.mode.rawValue
|
title = config.mode.rawValue
|
||||||
navigationItem.largeTitleDisplayMode = .never
|
navigationItem.largeTitleDisplayMode = .never
|
||||||
navigationItem.leftBarButtonItem = UIBarButtonItem(
|
|
||||||
image: UIImage(systemName: "textformat"),
|
|
||||||
style: .plain, target: self, action: #selector(toggleCase))
|
|
||||||
updateCaseButton()
|
|
||||||
buildLayout()
|
buildLayout()
|
||||||
showQuestion()
|
showQuestion()
|
||||||
}
|
}
|
||||||
@@ -200,7 +200,14 @@ final class QuizViewController: UIViewController {
|
|||||||
resultLabel.isHidden = true
|
resultLabel.isHidden = true
|
||||||
resultPhoneticLabel.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 isSpelling = config.mode == .spelling
|
||||||
let isDictation = config.mode == .dictation
|
let isDictation = config.mode == .dictation
|
||||||
@@ -411,7 +418,7 @@ final class QuizViewController: UIViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func updateCaseButton() {
|
private func updateCaseButton() {
|
||||||
navigationItem.leftBarButtonItem?.tintColor = isUppercase ? Theme.Color.accent : .tertiaryLabel
|
caseToggleItem.tintColor = isUppercase ? Theme.Color.accent : .tertiaryLabel
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc private func speakCurrentWord() {
|
@objc private func speakCurrentWord() {
|
||||||
|
|||||||
Reference in New Issue
Block a user