ios - 从一个页面在所有页面中动态更改 iOS 应用程序的字体大小

标签 ios iphone xcode nsnotificationcenter uifont

我可以选择从设置中更改我的应用程序的字体大小。如果我从设置中更改大小,那么它应该会影响应用程序中所有加载的页面。

所以我尝试了“NSNotificationCenter”。我刚刚在所有类中添加了观察者,然后我将从设置中触发通知。

我有一个名为“updateUI”的函数

-(void)updateUI{
    // here I will change font size of all UI controlls
}

观察者是

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateUI) name:"KFontSizeChanged" object:nil];

那我就调用

[[NSNotificationCenter defaultCenter] postNotificationName:@"KFontSizeChanged" object:self];

当 Observer 观察到任何新通知时,将调用“updateUI”函数。那里的 UI 字体大小将被更新。 它工作正常,但我想知道是否有更好的解决方案来实现这一目标

我也试过以下

yourLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];

根据此代码,我将需要 iOS7 及更高版本。但我需要 iOS 5 及更高版本的支持。我还需要转到 iPhone 设置以更改大小。

任何人都可以让我知道是否有更好的解决方案来实现这一目标?

提前致谢

最佳答案

为什么不能制作 UIFont 类别并使用此类,只需更改此处的大小,它就会反射(reflect)在所有应用程序中。

关于ios - 从一个页面在所有页面中动态更改 iOS 应用程序的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29338906/

相关文章:

ios - Xcode 7.3 : import Module displayed with strikethrough

iphone - UISearchBar 清除背景图片

ios - 在 subview 中应用任何 "transform"后缩放 UIScrollView

ios - 将表单条目发送到数据库

ios - ios_distribution.cer被吊销了,我可以提交到AppStore吗?

ios - View 内部的 TableView , View Controller 内部。最好的方法是什么?

iphone - 对 UITextField 的引用不起作用?

objective-c - 如何从popoverController访问navigationController?

ios - 快速日期格式化,从服务器返回的日期与发送到服务器的日期不同

ios - 高分重置为 0