Ios 在Swift 4/Xcode 10.1中,如何在整个应用程序中使用自定义字体?
我在这里尝试了一些为整个应用程序设置自定义字体的方法,但在Xcode 10.1中似乎没有一种方法可以工作。我想知道有没有人有什么建议 以下是我迄今为止所做的尝试Ios 在Swift 4/Xcode 10.1中,如何在整个应用程序中使用自定义字体?,ios,swift,uilabel,Ios,Swift,Uilabel,我在这里尝试了一些为整个应用程序设置自定义字体的方法,但在Xcode 10.1中似乎没有一种方法可以工作。我想知道有没有人有什么建议 以下是我迄今为止所做的尝试 这是一个代码示例:(这仍然是给我的系统字体) 谢谢 您可以使用UIFont的扩展名执行此操作 extension UIFont { public enum FontWeight { //cases are just font family like bold, light, italic case .
这是一个代码示例:(这仍然是给我的系统字体)
谢谢 您可以使用UIFont的扩展名执行此操作
extension UIFont {
public enum FontWeight {
//cases are just font family like bold, light, italic
case .light
}
func appFont(weight : FontWeight, size : CGFloat) -> UIFont {
var fontName = "Times New Roman-"
switch weight {
case .light {
fontName = fontName + "light" // add your family name here
}
}
return UIFont(name: fontName, size: size)!
}
}
如果是标签
label.font = UIFont.appFont(weight : .light, size : 17)
您必须将第一个代码添加到AppDelegate.swift文件中,该文件位于``func应用程序(`application:UIApplication,didfishlaunchingwithoptions…``中,如果您使用的是最新的swift,请使用此行UILabel.appearance().font=UIFont.preferredFont(forTextStyle:UIFont.TextStyle(rawValue:“Times New Roman”))更好的解决方案是:@brontea交叉检查字体类型的字体名称,正确的一个您需要在这里给出的UIFont(名称:“Times New Roman”,大小:17)。我希望您在plist中添加了字体。@iOSTeam是的,我尝试将该行放入didFinishLaunchingWithOptions func中,但仍然没有结果。我将尝试您建议的答案有没有办法为所有UILabel设置该行?Thanks@brontea你可以将UILabel子类化,并在其中设置字体,在你的应用程序中使用该子类制作标签汉克斯!
label.font = UIFont.appFont(weight : .light, size : 17)