From 490e168b7d8699e80f7f33f7c661468682f5617a Mon Sep 17 00:00:00 2001 From: sunxiaojian Date: Sat, 24 Apr 2021 19:50:54 -0700 Subject: [PATCH] fix: UI update in confirm email scene --- Mastodon/Generated/Assets.swift | 1 + .../Asset/email.imageset/Contents.json | 12 + .../Asset/email.imageset/c1.svg | 342 ++++++++++++++++++ .../MastodonConfirmEmailViewController.swift | 37 +- 4 files changed, 382 insertions(+), 10 deletions(-) create mode 100644 Mastodon/Resources/Assets.xcassets/Asset/email.imageset/Contents.json create mode 100644 Mastodon/Resources/Assets.xcassets/Asset/email.imageset/c1.svg diff --git a/Mastodon/Generated/Assets.swift b/Mastodon/Generated/Assets.swift index 35111dde1..d26424c75 100644 --- a/Mastodon/Generated/Assets.swift +++ b/Mastodon/Generated/Assets.swift @@ -23,6 +23,7 @@ internal typealias AssetImageTypeAlias = ImageAsset.Image internal enum Asset { internal static let accentColor = ColorAsset(name: "AccentColor") internal enum Asset { + internal static let email = ImageAsset(name: "Asset/email") internal static let mastodonTextLogo = ImageAsset(name: "Asset/mastodon.text.logo") } internal enum Circles { diff --git a/Mastodon/Resources/Assets.xcassets/Asset/email.imageset/Contents.json b/Mastodon/Resources/Assets.xcassets/Asset/email.imageset/Contents.json new file mode 100644 index 000000000..1b7212647 --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Asset/email.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "c1.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mastodon/Resources/Assets.xcassets/Asset/email.imageset/c1.svg b/Mastodon/Resources/Assets.xcassets/Asset/email.imageset/c1.svg new file mode 100644 index 000000000..ce59284c0 --- /dev/null +++ b/Mastodon/Resources/Assets.xcassets/Asset/email.imageset/c1.svg @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Mastodon/Scene/Onboarding/ConfirmEmail/MastodonConfirmEmailViewController.swift b/Mastodon/Scene/Onboarding/ConfirmEmail/MastodonConfirmEmailViewController.swift index 9d15c8476..80a4eed15 100644 --- a/Mastodon/Scene/Onboarding/ConfirmEmail/MastodonConfirmEmailViewController.swift +++ b/Mastodon/Scene/Onboarding/ConfirmEmail/MastodonConfirmEmailViewController.swift @@ -36,6 +36,13 @@ final class MastodonConfirmEmailViewController: UIViewController, NeedsDependenc label.numberOfLines = 0 return label }() + + let emailImageView: UIImageView = { + let imageView = UIImageView() + imageView.image = Asset.Asset.email.image + imageView.contentMode = .scaleAspectFit + return imageView + }() let openEmailButton: UIButton = { let button = UIButton(type: .system) @@ -66,19 +73,10 @@ final class MastodonConfirmEmailViewController: UIViewController, NeedsDependenc } extension MastodonConfirmEmailViewController { - - override var preferredStatusBarStyle: UIStatusBarStyle { - return .darkContent - } override func viewDidLoad() { setupOnboardingAppearance() - - // resizedView - let resizedView = UIView() - resizedView.translatesAutoresizingMaskIntoConstraints = false - resizedView.setContentHuggingPriority(.defaultLow, for: .vertical) // stackView let stackView = UIStackView() @@ -89,7 +87,9 @@ extension MastodonConfirmEmailViewController { stackView.isLayoutMarginsRelativeArrangement = true stackView.addArrangedSubview(self.largeTitleLabel) stackView.addArrangedSubview(self.subtitleLabel) - stackView.addArrangedSubview(resizedView) + stackView.addArrangedSubview(self.emailImageView) + emailImageView.setContentHuggingPriority(.defaultLow, for: .vertical) + emailImageView.setContentCompressionResistancePriority(.defaultLow, for: .vertical) stackView.addArrangedSubview(self.openEmailButton) stackView.addArrangedSubview(self.dontReceiveButton) @@ -200,3 +200,20 @@ extension MastodonConfirmEmailViewController { // MARK: - OnboardingViewControllerAppearance extension MastodonConfirmEmailViewController: OnboardingViewControllerAppearance { } + +#if canImport(SwiftUI) && DEBUG +import SwiftUI + +struct MastodonConfirmEmailViewController_Previews: PreviewProvider { + + static var previews: some View { + UIViewControllerPreview { + let viewController = MastodonConfirmEmailViewController() + return viewController + } + .previewLayout(.fixed(width: 375, height: 800)) + } + +} + +#endif