From 94b5280a068772d38ebb0d57770fadcbede44eef Mon Sep 17 00:00:00 2001 From: krugerk <4656811+krugerk@users.noreply.github.com> Date: Sun, 2 Aug 2020 22:55:02 +0200 Subject: [PATCH] re-use the defined standard fonts some standard fonts (variations) were defined as extensions of UIFont and used in some places but not all. Others called UIFont with the name of a font directly to load the same fonts already defined. Replaced those to use the pre-defined standards --- BeeSwift/BSButton.swift | 2 +- BeeSwift/BSLabel.swift | 4 +-- BeeSwift/BSTextField.swift | 4 +-- .../EditNotificationsViewController.swift | 8 +++--- BeeSwift/GalleryViewController.swift | 4 +-- BeeSwift/GoalCollectionViewCell.swift | 6 ++--- BeeSwift/GoalViewController.swift | 4 +-- BeeSwift/TimerViewController.swift | 2 +- BeeSwift/UIFontExtension.swift | 26 ++++++++++++++----- 9 files changed, 37 insertions(+), 23 deletions(-) diff --git a/BeeSwift/BSButton.swift b/BeeSwift/BSButton.swift index dde1bc020..bdcc4fe18 100644 --- a/BeeSwift/BSButton.swift +++ b/BeeSwift/BSButton.swift @@ -22,7 +22,7 @@ class BSButton : UIButton { } func setup() { - self.titleLabel?.font = UIFont(name: "Avenir-Light", size: 18) + self.titleLabel?.font = UIFont.beeminder.defaultFont self.setTitleColor(UIColor.white, for: UIControlState()) self.backgroundColor = UIColor.beeGrayColor() } diff --git a/BeeSwift/BSLabel.swift b/BeeSwift/BSLabel.swift index 3e33ee459..4eac14cbc 100644 --- a/BeeSwift/BSLabel.swift +++ b/BeeSwift/BSLabel.swift @@ -13,12 +13,12 @@ class BSLabel : UILabel { required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) - self.font = UIFont.beeminderDefaultFont() + self.font = UIFont.beeminder.defaultFont } override init(frame: CGRect) { super.init(frame: frame) - self.font = UIFont(name: "Avenir-Light", size: 18) + self.font = UIFont.beeminder.defaultFont } diff --git a/BeeSwift/BSTextField.swift b/BeeSwift/BSTextField.swift index cf74688c6..0d1fd235f 100644 --- a/BeeSwift/BSTextField.swift +++ b/BeeSwift/BSTextField.swift @@ -13,7 +13,7 @@ class BSTextField : UITextField { required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) - self.font = UIFont.beeminderDefaultFont() + self.font = UIFont.beeminder.defaultFont self.layer.borderColor = UIColor.beeGrayColor().cgColor self.tintColor = UIColor.beeGrayColor() self.layer.borderWidth = 1 @@ -22,7 +22,7 @@ class BSTextField : UITextField { override init(frame: CGRect) { super.init(frame: frame) - self.font = UIFont(name: "Avenir-Light", size: 18) + self.font = UIFont.beeminder.defaultFont self.layer.borderColor = UIColor.beeGrayColor().cgColor self.tintColor = UIColor.beeGrayColor() self.layer.borderWidth = 1 diff --git a/BeeSwift/EditNotificationsViewController.swift b/BeeSwift/EditNotificationsViewController.swift index f45ad575a..b5d642a0a 100644 --- a/BeeSwift/EditNotificationsViewController.swift +++ b/BeeSwift/EditNotificationsViewController.swift @@ -19,14 +19,14 @@ class EditNotificationsViewController: UIViewController { } else if self.timePickerEditingMode == .alertstart { self.timePickerView.isHidden = false self.setTimePickerComponents(self.alertstart.intValue) - self.alertStartLabel.font = UIFont.beeminderDefaultBoldFont() - self.deadlineLabel.font = UIFont.beeminderDefaultFont() + self.alertStartLabel.font = UIFont.beeminder.defaultBoldFont + self.deadlineLabel.font = UIFont.beeminder.defaultFont } else if self.timePickerEditingMode == .deadline { self.timePickerView.isHidden = false self.setTimePickerComponents(self.deadline.intValue) - self.alertStartLabel.font = UIFont.beeminderDefaultFont() - self.deadlineLabel.font = UIFont.beeminderDefaultBoldFont() + self.alertStartLabel.font = UIFont.beeminder.defaultFont + self.deadlineLabel.font = UIFont.beeminder.defaultBoldFont } } } diff --git a/BeeSwift/GalleryViewController.swift b/BeeSwift/GalleryViewController.swift index 0683376c1..07e0da301 100644 --- a/BeeSwift/GalleryViewController.swift +++ b/BeeSwift/GalleryViewController.swift @@ -99,7 +99,7 @@ class GalleryViewController: UIViewController, UICollectionViewDelegateFlowLayou self.deadbeatView.addSubview(deadbeatLabel) deadbeatLabel.textColor = UIColor.red deadbeatLabel.numberOfLines = 0 - deadbeatLabel.font = UIFont(name: "Avenir-Heavy", size: 13) + deadbeatLabel.font = UIFont.beeminder.defaultFontHeavy.withSize(13) deadbeatLabel.text = "Hey! Beeminder couldn't charge your credit card, so you can't see your graphs. Please update your card on beeminder.com or email support@beeminder.com if this is a mistake." deadbeatLabel.snp.makeConstraints { (make) -> Void in make.top.equalTo(3) @@ -119,7 +119,7 @@ class GalleryViewController: UIViewController, UICollectionViewDelegateFlowLayou self.outofdateView.addSubview(self.outofdateLabel) self.outofdateLabel.textColor = .red self.outofdateLabel.numberOfLines = 0 - self.outofdateLabel.font = UIFont(name: "Avenir-Heavy", size: 12) + self.outofdateLabel.font = UIFont.beeminder.defaultFontHeavy.withSize(12) self.outofdateLabel.textAlignment = .center self.outofdateLabel.text = "There is a new version of the Beeminder app in the App Store.\nPlease update when you have a moment." self.outofdateLabel.snp.makeConstraints { (make) in diff --git a/BeeSwift/GoalCollectionViewCell.swift b/BeeSwift/GoalCollectionViewCell.swift index df32edba6..5be4d4003 100644 --- a/BeeSwift/GoalCollectionViewCell.swift +++ b/BeeSwift/GoalCollectionViewCell.swift @@ -25,7 +25,7 @@ class GoalCollectionViewCell: UICollectionViewCell { if #available(iOS 13.0, *) { self.contentView.backgroundColor = .systemBackground } - self.slugLabel.font = UIFont(name: "Avenir-Heavy", size: 18) + self.slugLabel.font = UIFont.beeminder.defaultFontHeavy self.slugLabel.snp.makeConstraints { (make) -> Void in make.left.equalTo(self.margin) make.top.equalTo(10) @@ -35,7 +35,7 @@ class GoalCollectionViewCell: UICollectionViewCell { self.slugLabel.textColor = .label } - self.titleLabel.font = UIFont(name: "Avenir-Light", size: 18) + self.titleLabel.font = UIFont.beeminder.defaultFont if #available(iOS 13.0, *) { self.titleLabel.textColor = .label } @@ -54,7 +54,7 @@ class GoalCollectionViewCell: UICollectionViewCell { } self.safesumLabel.textAlignment = NSTextAlignment.center - self.safesumLabel.font = UIFont(name: "Avenir-Black", size: 13) + self.safesumLabel.font = UIFont.beeminder.defaultBoldFont.withSize(13) self.safesumLabel.numberOfLines = 0 self.safesumLabel.snp.makeConstraints { (make) -> Void in make.left.equalTo(self.thumbnailImageView.snp.right).offset(5) diff --git a/BeeSwift/GoalViewController.swift b/BeeSwift/GoalViewController.swift index 61f173d37..37a810401 100644 --- a/BeeSwift/GoalViewController.swift +++ b/BeeSwift/GoalViewController.swift @@ -71,7 +71,7 @@ class GoalViewController: UIViewController, UITableViewDelegate, UITableViewData countdownView.addSubview(self.countdownLabel) - self.countdownLabel.font = UIFont(name: "Avenir-Heavy", size: Constants.defaultFontSize) + self.countdownLabel.font = UIFont.beeminder.defaultFontHeavy.withSize(Constants.defaultFontSize) self.countdownLabel.textAlignment = .center self.countdownLabel.snp.makeConstraints { (make) -> Void in make.centerY.centerX.equalTo(countdownView) @@ -120,7 +120,7 @@ class GoalViewController: UIViewController, UITableViewDelegate, UITableViewData make.left.right.equalTo(0) } self.deltasLabel.attributedText = self.goal!.attributedDeltaText - self.deltasLabel.font = UIFont(name: "Avenir-Heavy", size: Constants.defaultFontSize) + self.deltasLabel.font = UIFont.beeminder.defaultBoldFont.withSize(Constants.defaultFontSize) self.deltasLabel.textAlignment = .center diff --git a/BeeSwift/TimerViewController.swift b/BeeSwift/TimerViewController.swift index 2e68caf5b..3e70e54be 100644 --- a/BeeSwift/TimerViewController.swift +++ b/BeeSwift/TimerViewController.swift @@ -32,7 +32,7 @@ class TimerViewController: UIViewController { } self.timerLabel.text = "00:00:00" self.timerLabel.textColor = .white - self.timerLabel.font = UIFont(name: "Avenir-Black", size: 48) + self.timerLabel.font = UIFont.beeminder.defaultBoldFont.withSize(48) let exitButton = BSButton() self.view.addSubview(exitButton) diff --git a/BeeSwift/UIFontExtension.swift b/BeeSwift/UIFontExtension.swift index 160c7627f..1b83e10d0 100644 --- a/BeeSwift/UIFontExtension.swift +++ b/BeeSwift/UIFontExtension.swift @@ -10,11 +10,25 @@ import Foundation import UIKit extension UIFont { - class func beeminderDefaultFont() -> UIFont { - return UIFont(name: "Avenir-Light", size: 18)! - } - - class func beeminderDefaultBoldFont() -> UIFont { - return UIFont(name: "Avenir-Black", size: 18)! + struct beeminder { + static var defaultFont: UIFont { + return defaultFontLight + } + + static var defaultFontLight: UIFont { + return UIFont(name: "Avenir-Light", size: 18)! + } + + static var defaultFontHeavy: UIFont { + return UIFont(name: "Avenir-Heavy", size: 18)! + } + + static var defaultBoldFont: UIFont { + return UIFont(name: "Avenir-Black", size: 18)! + } + + static var defaultFontPlain: UIFont { + return UIFont(name: "Avenir", size: 18)! + } } }