2017-04-24 69 views
1

我想改变应用程序的默认字体,所以我在AppDelegate的那样更改UILabel的大小改变其字体名称

UILabel.appearance().font = UIFont(name: "PartyLetPlain", size: 17)

和它的工作如预期,直到我试图改变字体大小。

我试图改变字体大小,像这样

categoryName.font = UIFont(name: categoryName.font.fontName, size: 17) 

categoryName.font.fontWithSize(20)

改变字体大小它改变了的fontName和它,以便只为一个变化我评论的

印刷该字体名称 .SFUIText

UILabel.appearance().font = UIFont(name: "PartyLetPlain", size: 17)

从AppDelegate中更改字体从故事板,即使在更改字体大小后也能很好地工作。

如何解决这个问题?

回答

0

.SFUIText是默认系统字体,因此你得到相同的结果,当你分配。

外观不会改变属性,一旦他们在窗口中。 创建自定义标签类并使用它。

或者只是使用您的字体UIFont(name: "PartyLetPlain", size: 17)更改字体大小。它会工作。

为了美观请联系https://developer.apple.com/reference/uikit/uiappearance

+0

雅所以如何保持我已经在全球设置了的UILabel相同的字体? –

+0

您的解决方案是正确的UILabel.appearance()。font = UIFont(name:“PartyLetPlain”,size:17)。但是外观一旦进入窗口就不会改变属性。每当你想改变它使用完整的UIFont(名称:“PartyLetPlain”,size:17)的字体来设置外观不起作用。或者您可以创建自定义标签类并使用它。 – AkBombe