iOS自定义字体(ttf和otf)

  • 自定义字体有两个方法
  • 方法1:

    • plist 文件中配置

    • 参考:

      • https://www.cnblogs.com/niit-soft-518/p/6952317.html
  • 方法2:

    • 直接读取字体资源文件
  • 通过字体文件初始化字体,如下方法:

    func customFontWithPath(name:String ,ofType:String ,size:CGFloat) -> UIFont {

        guard let path = Bundle.main.path(forResource: name, ofType: "ttf")  else {
            assert(false, "Warning :字体文件未找到")
            return UIFont.systemFont(ofSize: size)
        }

        let fontUrl = NSURL(fileURLWithPath: path)
        let fontDataProvider = CGDataProvider(url: fontUrl)
        let fontRef = CGFont(fontDataProvider!)
        CTFontManagerRegisterGraphicsFont(fontRef!, nil)

        let fontName:String = "\(fontRef?.postScriptName ?? "" as CFString)"
        let font = UIFont(name: fontName, size: size) ?? UIFont.systemFont(ofSize: size)

        return font
    }
  • 参考:
    • https://blog.csdn.net/wks_lovewei/article/details/79373294
  • smaple code
     // - systerm
    var label = UILabel()
    label.backgroundColor = UIColor.white
    label.text = "zhangdong,你好!"
    label.textAlignment = .center
    self.view.addSubview(label)
    label.snp.makeConstraints {
        $0.height.equalTo(200)
        $0.width.equalToSuperview()
    }

    // - plist
    /// ttf
    label = UILabel()
    label.backgroundColor = UIColor.white
    label.text = "zhangdong,你好!"
    label.textAlignment = .center
    label.font = UIFont(name: "SimSun", size: 18)
    self.view.addSubview(label)
    label.snp.makeConstraints {
        $0.top.equalTo(200)
        $0.height.equalTo(200)
        $0.width.equalToSuperview()

    }

    /// otf
    label = UILabel()
    label.backgroundColor = UIColor.white
    label.text = "zhangdong,你好!"
    label.textAlignment = .center
    label.font = UIFont(name: "DFWaWaSC-W5", size: 30)
    self.view.addSubview(label)
    label.snp.makeConstraints {
        $0.top.equalTo(400)
        $0.height.equalTo(200)
        $0.width.equalToSuperview()
    }

    // - Path
    /// :  ttf create font by path
    label = UILabel()
    label.backgroundColor = UIColor.white
    label.text = "zhangdong,你好!"
    label.textAlignment = .center
    label.font = customFontWithPath(name: "STXINWEI", ofType: "tff", size: 20)
    self.view.addSubview(label)
    label.snp.makeConstraints {
        $0.top.equalTo(600)
        $0.height.equalTo(200)
        $0.width.equalToSuperview()
    }
iOS自定义字体(ttf和otf)_第1张图片
IMG_979192E777D4-1.jpeg

你可能感兴趣的:(iOS自定义字体(ttf和otf))