You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.3 KiB

  1. //
  2. // UIFont+ext.swift
  3. // GME Remit
  4. //
  5. // Created by InKwon James Kim on 14/08/2019.
  6. // Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. enum FontType {
  10. case regular
  11. case medium
  12. case bold
  13. case semibold
  14. case black
  15. case heavy
  16. case light
  17. case thin
  18. case ultrathin
  19. }
  20. extension UIFont {
  21. class func sanfrancisco(_ type: FontType, size: CGFloat) -> UIFont {
  22. let font: UIFont?
  23. switch type {
  24. case .regular:
  25. font = UIFont(name: "SanfranciscoDisplay-Regular", size: size)
  26. case .medium:
  27. font = UIFont(name: "SanFranciscoDisplay-Medium", size: size)
  28. case .bold:
  29. font = UIFont(name: "SanfranciscoDisplay-Bold", size: size)
  30. case .semibold:
  31. font = UIFont(name: "SanfranciscoDisplay-Semibold", size: size)
  32. case .black:
  33. font = UIFont(name: "SanfranciscoDisplay-Black", size: size)
  34. case .heavy:
  35. font = UIFont(name: "SanfranciscoDisplay-Heavy", size: size)
  36. case .light:
  37. font = UIFont(name: "SanfranciscoDisplay-Light", size: size)
  38. case .thin:
  39. font = UIFont(name: "SanfranciscoDisplay-Thin", size: size)
  40. case .ultrathin:
  41. font = UIFont(name: "SanfranciscoDisplay-Ultralight", size: size)
  42. }
  43. return font ?? .systemFont(ofSize: size)
  44. }
  45. }