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

//
// UIFont+ext.swift
// GME Remit
//
// Created by InKwon James Kim on 14/08/2019.
// Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
//
import UIKit
enum FontType {
case regular
case medium
case bold
case semibold
case black
case heavy
case light
case thin
case ultrathin
}
extension UIFont {
class func sanfrancisco(_ type: FontType, size: CGFloat) -> UIFont {
let font: UIFont?
switch type {
case .regular:
font = UIFont(name: "SanfranciscoDisplay-Regular", size: size)
case .medium:
font = UIFont(name: "SanFranciscoDisplay-Medium", size: size)
case .bold:
font = UIFont(name: "SanfranciscoDisplay-Bold", size: size)
case .semibold:
font = UIFont(name: "SanfranciscoDisplay-Semibold", size: size)
case .black:
font = UIFont(name: "SanfranciscoDisplay-Black", size: size)
case .heavy:
font = UIFont(name: "SanfranciscoDisplay-Heavy", size: size)
case .light:
font = UIFont(name: "SanfranciscoDisplay-Light", size: size)
case .thin:
font = UIFont(name: "SanfranciscoDisplay-Thin", size: size)
case .ultrathin:
font = UIFont(name: "SanfranciscoDisplay-Ultralight", size: size)
}
return font ?? .systemFont(ofSize: size)
}
class func volte(_ type: FontType, size: CGFloat) -> UIFont {
let font: UIFont?
switch type {
case .regular:
font = UIFont(name: "FONTSPRINGDEMO-Volte", size: size)
case .medium:
font = UIFont(name: "volte-medium", size: size)
case .bold:
font = UIFont(name: "volte-bold", size: size)
case .semibold:
font = UIFont(name: "volte-semibold", size: size)
case .black:
font = UIFont(name: "SanfranciscoDisplay-Black", size: size)
case .heavy:
font = UIFont(name: "SanfranciscoDisplay-Heavy", size: size)
case .light:
font = UIFont(name: "SanfranciscoDisplay-Light", size: size)
case .thin:
font = UIFont(name: "SanfranciscoDisplay-Thin", size: size)
case .ultrathin:
font = UIFont(name: "SanfranciscoDisplay-Ultralight", size: size)
}
return font ?? .systemFont(ofSize: size)
}
}