diff --git a/Mastodon/Scene/MediaPreview/AltViewController.swift b/Mastodon/Scene/MediaPreview/AltViewController.swift index 05a3e5b0917..57d1a53b691 100644 --- a/Mastodon/Scene/MediaPreview/AltViewController.swift +++ b/Mastodon/Scene/MediaPreview/AltViewController.swift @@ -20,12 +20,10 @@ class AltViewController: UIViewController { textView.textContainer.maximumNumberOfLines = 0 textView.textContainer.lineBreakMode = .byWordWrapping - textView.font = .preferredFont(forTextStyle: .callout) textView.isScrollEnabled = true textView.backgroundColor = .clear textView.isOpaque = false textView.isEditable = false - textView.tintColor = .white textView.textContainerInset = UIEdgeInsets(top: 12, left: 8, bottom: 8, right: 8) textView.contentInsetAdjustmentBehavior = .always textView.verticalScrollIndicatorInsets.bottom = 4 @@ -33,8 +31,12 @@ class AltViewController: UIViewController { return textView }() - init(alt: String, sourceView: UIView?) { - textView.text = alt + init(alt: String, language: String?, sourceView: UIView?) { + textView.attributedText = NSAttributedString(string: alt, attributes: [ + .languageIdentifier: "", + .foregroundColor: UIColor.white, + .font: UIFont.preferredFont(forTextStyle: .callout), + ]) super.init(nibName: nil, bundle: nil) self.modalPresentationStyle = .popover self.popoverPresentationController?.delegate = self diff --git a/Mastodon/Scene/MediaPreview/MediaPreviewViewController.swift b/Mastodon/Scene/MediaPreview/MediaPreviewViewController.swift index 4dc171e58b8..1f12b7eac21 100644 --- a/Mastodon/Scene/MediaPreview/MediaPreviewViewController.swift +++ b/Mastodon/Scene/MediaPreview/MediaPreviewViewController.swift @@ -186,7 +186,7 @@ extension MediaPreviewViewController { @objc private func altButtonPressed(_ sender: UIButton) { guard let alt = viewModel.altText else { return } - present(AltViewController(alt: alt, sourceView: sender), animated: true) + present(AltViewController(alt: alt, language: viewModel.language, sourceView: sender), animated: true) } } diff --git a/Mastodon/Scene/MediaPreview/MediaPreviewViewModel.swift b/Mastodon/Scene/MediaPreview/MediaPreviewViewModel.swift index f3a7125d959..70a5c375f20 100644 --- a/Mastodon/Scene/MediaPreview/MediaPreviewViewModel.swift +++ b/Mastodon/Scene/MediaPreview/MediaPreviewViewModel.swift @@ -28,6 +28,7 @@ final class MediaPreviewViewModel: NSObject { @Published var currentPage: Int @Published var showingChrome = true @Published var altText: String? + @Published var language: String? // output let viewControllers: [MediaPreviewPage] @@ -47,6 +48,7 @@ final class MediaPreviewViewModel: NSObject { switch item { case .attachment(let previewContext): getAltText = { previewContext.attachments[$0].altDescription } + self.language = previewContext.language currentPage = previewContext.initialIndex for (i, attachment) in previewContext.attachments.enumerated() {