我正在尝试根据设置更改来更改字体大小。即使重新启动应用程序,我也使用NSUserDefaults将所选行保持为选中状态。这很好..但是当我要根据设置改变所有页面的字体大小时,它不会立即改变。如果重新启动应用程序,它会发生变化..
Font settings page is a table view. When you select font size row it will navigate to the font size settings page. It will look like:
Small
Medium
Large
if you change size in this view that should effect immediately..
如果有人帮助我对我有很大的帮助..
提前致谢
答案 0 :(得分:0)
您的观点正在viewDidLoad中展示。根据字体大小渲染视图所需的计算也在此方法中完成。您可能已经安装了应用程序,以便首先加载所有视图,我猜测标签栏布局?
你需要做两件事中的一件才能达到你想要的效果。
1)设置观察者,通知或更改字体大小时调用的某些方法。然后,此函数负责刷新需要它的视图。
2)为视图执行延迟加载(仅在需要时加载它们)并在不需要时将其拆除。这意味着在viewWillAppear中显示加载屏幕,在viewDidAppear中加载视图,并在viewDidDisappear中删除视图。
虽然数字1可能最容易实现,但是数字2为您提供了额外的好处,可以减少内存大小。但是,根据您的观点的复杂程度,这可能会产生不良影响。如果我是你,我会使用NSNotifications(#1)通知所有视图控制器字体大小已更改。然后做你需要做的重绘,改变那个控制器上的字体。