所有测试页面支持滑动,暗黑模式音标更清晰,结果页隐藏导航栏播放按钮

This commit is contained in:
2026-07-19 00:17:09 +08:00
parent def92715ac
commit 26af66efeb
6 changed files with 22 additions and 6 deletions
@@ -93,6 +93,7 @@ final class QuizResultView: UIView {
private func buildLayout() {
let scrollView = UIScrollView()
scrollView.alwaysBounceVertical = true
addSubview(scrollView)
scrollView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
@@ -52,6 +52,7 @@ final class QuizSetupViewController: UIViewController {
contentStack.addArrangedSubview(countControl)
let scrollView = UIScrollView()
scrollView.alwaysBounceVertical = true
scrollView.addSubview(contentStack)
contentStack.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
@@ -140,13 +140,24 @@ final class QuizViewController: UIViewController {
let mainStack = UIStackView(arrangedSubviews: [headerStack, promptStack, inputStack, resultStack, UIView()])
mainStack.axis = .vertical
mainStack.spacing = 24
view.addSubview(mainStack)
let scrollView = UIScrollView()
scrollView.alwaysBounceVertical = true
view.addSubview(scrollView)
scrollView.addSubview(mainStack)
scrollView.translatesAutoresizingMaskIntoConstraints = false
mainStack.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
mainStack.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 16),
mainStack.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16),
mainStack.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -16),
mainStack.bottomAnchor.constraint(lessThanOrEqualTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -16)
scrollView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
scrollView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
scrollView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor),
mainStack.topAnchor.constraint(equalTo: scrollView.contentLayoutGuide.topAnchor, constant: 16),
mainStack.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor, constant: 16),
mainStack.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor, constant: -16),
mainStack.bottomAnchor.constraint(equalTo: scrollView.contentLayoutGuide.bottomAnchor, constant: -16),
mainStack.widthAnchor.constraint(equalTo: scrollView.frameLayoutGuide.widthAnchor, constant: -32),
])
}
@@ -386,6 +397,7 @@ final class QuizViewController: UIViewController {
}
private func showQuizResult() {
navigationItem.rightBarButtonItem = nil
progressView.setProgress(1, animated: true)
let resultView = QuizResultView(
total: questions.count,
@@ -29,7 +29,7 @@ final class WordCardCell: UITableViewCell {
wordLabel.font = .preferredFont(forTextStyle: .headline)
phoneticLabel.font = .preferredFont(forTextStyle: .caption1)
phoneticLabel.textColor = .tertiaryLabel
phoneticLabel.textColor = .secondaryLabel
meaningLabel.font = .preferredFont(forTextStyle: .subheadline)
meaningLabel.textColor = .secondaryLabel
@@ -55,6 +55,7 @@ final class WordDetailViewController: UIViewController {
private func buildLayout() {
let scrollView = UIScrollView()
scrollView.alwaysBounceVertical = true
view.addSubview(scrollView)
scrollView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([