Ensure that the welcome buttons have adequate padding at larger Dynamic Type configurations.

This commit is contained in:
Jeff Verkoeyen 2022-11-12 20:30:57 -08:00
parent daedd2b5be
commit 87df13987a
2 changed files with 6 additions and 0 deletions

View File

@ -22,6 +22,10 @@ extension OnboardingViewControllerAppearance {
static var actionButtonMarginExtend: CGFloat { return 80 }
static var viewBottomPaddingHeight: CGFloat { return 11 }
static var viewBottomPaddingHeightExtend: CGFloat { return 22 }
// Typically assigned to the button's contentEdgeInsets. Ensures space around content, even when
// content is large due to Dynamic Type.
static var actionButtonPadding: UIEdgeInsets { return UIEdgeInsets(top: 8, left: 8, bottom: 8, right: 8) }
static var largeTitleFont: UIFont {
return UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: .systemFont(ofSize: 28, weight: .bold))

View File

@ -51,6 +51,7 @@ final class WelcomeViewController: UIViewController, NeedsDependency {
private(set) lazy var signUpButton: PrimaryActionButton = {
let button = PrimaryActionButton()
button.adjustsBackgroundImageWhenUserInterfaceStyleChanges = false
button.contentEdgeInsets = WelcomeViewController.actionButtonPadding
button.titleLabel?.adjustsFontForContentSizeCategory = true
button.titleLabel?.font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 17, weight: .semibold))
button.setTitle(L10n.Common.Controls.Actions.signUp, for: .normal)
@ -66,6 +67,7 @@ final class WelcomeViewController: UIViewController, NeedsDependency {
private(set) lazy var signInButton: PrimaryActionButton = {
let button = PrimaryActionButton()
button.adjustsBackgroundImageWhenUserInterfaceStyleChanges = false
button.contentEdgeInsets = WelcomeViewController.actionButtonPadding
button.titleLabel?.adjustsFontForContentSizeCategory = true
button.titleLabel?.font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 17, weight: .semibold))
button.setTitle(L10n.Scene.Welcome.logIn, for: .normal)