mastodon-app-ufficiale-ipho.../Mastodon/Scene/Welcome/WelcomeViewController.swift

90 lines
3.8 KiB
Swift
Raw Normal View History

2021-02-20 06:56:24 +01:00
//
// WelcomeViewController.swift
// Mastodon
//
// Created by on 2021/2/20.
//
import UIKit
final class WelcomeViewController: UIViewController {
let logoImageView: UIImageView = {
let imageView = UIImageView(image: Asset.welcomeLogo.image)
imageView.translatesAutoresizingMaskIntoConstraints = false
return imageView
}()
let sloganLabel: UILabel = {
let label = UILabel()
label.font = UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: UIFont.boldSystemFont(ofSize: 34))
label.textColor = Asset.Colors.Label.black.color
2021-02-23 05:41:56 +01:00
label.text = L10n.Scene.Welcome.slogan
2021-02-20 06:56:24 +01:00
label.adjustsFontForContentSizeCategory = true
label.translatesAutoresizingMaskIntoConstraints = false
label.numberOfLines = 0
return label
}()
2021-02-22 16:16:13 +01:00
let signUpButton: PrimaryActionButton = {
let button = PrimaryActionButton(type: .system)
button.setTitle(L10n.Button.signUp, for: .normal)
button.translatesAutoresizingMaskIntoConstraints = false
return button
}()
let signInButton: UIButton = {
let button = UIButton(type: .system)
button.setTitle(L10n.Button.signIn, for: .normal)
button.setTitleColor(Asset.Colors.lightBrandBlue.color, for: .normal)
button.titleLabel?.font = .preferredFont(forTextStyle: .subheadline)
button.setInsets(forContentPadding: UIEdgeInsets(top: 12, left: 0, bottom: 12, right: 0), imageTitlePadding: 0)
button.translatesAutoresizingMaskIntoConstraints = false
return button
}()
2021-02-20 06:56:24 +01:00
}
extension WelcomeViewController {
override var preferredStatusBarStyle: UIStatusBarStyle {
return .darkContent
}
2021-02-20 06:56:24 +01:00
override func viewDidLoad() {
super.viewDidLoad()
2021-02-23 05:41:56 +01:00
view.backgroundColor = Asset.Colors.Background.onboardingBackground.color
2021-02-20 06:56:24 +01:00
view.addSubview(logoImageView)
NSLayoutConstraint.activate([
logoImageView.leadingAnchor.constraint(equalTo: view.readableContentGuide.leadingAnchor, constant: 35),
2021-02-23 04:19:10 +01:00
view.readableContentGuide.trailingAnchor.constraint(equalTo: logoImageView.trailingAnchor, constant: 35),
2021-02-20 06:56:24 +01:00
logoImageView.topAnchor.constraint(equalTo: view.readableContentGuide.topAnchor, constant: 46),
logoImageView.heightAnchor.constraint(equalTo: logoImageView.widthAnchor, multiplier: 65.4/265.1),
])
view.addSubview(sloganLabel)
NSLayoutConstraint.activate([
sloganLabel.leadingAnchor.constraint(equalTo: view.readableContentGuide.leadingAnchor, constant: 16),
2021-02-23 04:19:10 +01:00
view.readableContentGuide.trailingAnchor.constraint(equalTo: sloganLabel.trailingAnchor, constant: 16),
2021-02-20 06:56:24 +01:00
sloganLabel.topAnchor.constraint(equalTo: logoImageView.bottomAnchor, constant: 168),
])
view.addSubview(signInButton)
view.addSubview(signUpButton)
NSLayoutConstraint.activate([
signInButton.leadingAnchor.constraint(equalTo: view.readableContentGuide.leadingAnchor, constant: 12),
2021-02-23 04:19:10 +01:00
view.readableContentGuide.trailingAnchor.constraint(equalTo: signInButton.trailingAnchor, constant: 12),
view.readableContentGuide.bottomAnchor.constraint(equalTo: signInButton.bottomAnchor, constant: 11),
signUpButton.leadingAnchor.constraint(equalTo: view.readableContentGuide.leadingAnchor, constant: 12),
2021-02-23 04:19:10 +01:00
view.readableContentGuide.trailingAnchor.constraint(equalTo: signUpButton.trailingAnchor, constant: 12),
signInButton.topAnchor.constraint(equalTo: signUpButton.bottomAnchor, constant: 5)
])
2021-02-20 06:56:24 +01:00
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(true, animated: false)
}
}