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.

80 lines
2.2 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. class func volte(_ type: FontType, size: CGFloat) -> UIFont {
  46. let font: UIFont?
  47. switch type {
  48. case .regular:
  49. font = UIFont(name: "FONTSPRINGDEMO-Volte", size: size)
  50. case .medium:
  51. font = UIFont(name: "volte-medium", size: size)
  52. case .bold:
  53. font = UIFont(name: "volte-bold", size: size)
  54. case .semibold:
  55. font = UIFont(name: "volte-semibold", size: size)
  56. case .black:
  57. font = UIFont(name: "SanfranciscoDisplay-Black", size: size)
  58. case .heavy:
  59. font = UIFont(name: "SanfranciscoDisplay-Heavy", size: size)
  60. case .light:
  61. font = UIFont(name: "SanfranciscoDisplay-Light", size: size)
  62. case .thin:
  63. font = UIFont(name: "SanfranciscoDisplay-Thin", size: size)
  64. case .ultrathin:
  65. font = UIFont(name: "SanfranciscoDisplay-Ultralight", size: size)
  66. }
  67. return font ?? .systemFont(ofSize: size)
  68. }
  69. }