-1

我正在为我公司的客户制作应用程序。整个应用程序已完成,并且已经在应用程序商店中。但是现在他希望我将标签/文本视图的字体或任何有文本的地方更改为自定义文本。有什么方法可以在一个地方更改字体,以便在应用程序的任何地方都可以更改?

4

4 回答 4

4

据我所知,没有神奇的解决方案可以全局更改字体。你可以做小班来做到这一点。例如,您可以UILabel通过创建自定义UILabel类并在 和 更改initWithFrame字体来更改所有字体awakeFromNib。所以看起来你可能必须为应用程序中的所有 ui 元素执行此操作。

但是,嘿,优点是。下次更改字体将是一件轻而易举的事。我们都知道客户公司如何改变主意...

source -如何为整个应用程序设置自定义字体?

于 2012-12-20T04:47:17.770 回答
2

我刚刚发现[[UILabel appearance] setFont:[UIFont fontWithName:@"Open Sans" size:20.0]];效果很好

于 2014-02-14T14:45:10.050 回答
0

您可以在项目的 .pch 文件中为字体编写宏(它将仅替换字体名称或 UIFont 对象)。

#define TextFont [UIFont fontWithName:@"Helvetica" size:13]

并在所有课程中使用它。但是您使用 IB 或故事板放置的所有文本,您必须通过 IB 或故事板手动更改所有字体。您现在可以为所有 UI 元素创建 IBOutelets,以便下次使用宏以编程方式轻松更改字体。

于 2012-12-20T05:07:54.000 回答
0

在您的应用程序委托中创建一个可供所有应用程序类访问的 NSString。这个 NSString 将是你的字体的名称。现在浏览您的应用程序并将所有文本的字体更改为 NSString 中的名称。

label.font = [UIFont fontWithName:appDelegate.fontName size:12];

只需将 NSString 设置为您在应用程序委托中选择的任何字体,其他所有内容都会更新为该字体。这应该比创建和实现 UILabel 子类更容易,因为您只想更改一个属性的一部分。

于 2012-12-20T04:50:44.163 回答