我正在创建一个本机应用程序,我想在其中实现主题设置。我有一个设置选项卡,用户可以在其中选择任何主题。
但是当用户选择任何主题时,我如何更改所有 UI,具体取决于主题。
1-我必须从头开始重新启动应用程序。这样做时,我应该使用将用户推送到 MainController 吗?在 viewdidLoad 的所有控制器中,我更改了主题。
2-或我必须使用的任何其他方法,请提出正确的方法。
我正在创建一个本机应用程序,我想在其中实现主题设置。我有一个设置选项卡,用户可以在其中选择任何主题。
但是当用户选择任何主题时,我如何更改所有 UI,具体取决于主题。
1-我必须从头开始重新启动应用程序。这样做时,我应该使用将用户推送到 MainController 吗?在 viewdidLoad 的所有控制器中,我更改了主题。
2-或我必须使用的任何其他方法,请提出正确的方法。
你的问题的答案 -
1-我必须从头开始重新启动应用程序才能执行此操作,我应该使用它来将用户推送到 MainController。在 viewdidLoad 的所有控制器中,我更改了主题。
不,您不需要这样做,因为您只需更改应用程序的外观和感觉。
2-或我必须使用的任何其他方法请建议我什么是正确的方法。
在您的应用程序的控制器中尝试设置元素的颜色viewWillAppear
,所有这些颜色都是NSUserDefaults
从您想要的任何其他地方获取的。当用户更改主题时,只需更改存储在NSUserDefaults
或任何其他地方的颜色,并在实用方法的帮助下仅重新加载该控制器。休息视图控制器将在加载时自动获取更改。
实用程序类将负责更改 UI 元素的颜色,您可能需要为此创建 2 或 3 个实用程序方法。
希望能解开一些疑惑。
如果您想根据用户的选择重新为您的应用程序设置主题,我推荐使用动态样式库,例如http://nativecss.com/
它可以让您在应用程序运行时重新命名您的应用程序,这听起来就像您所追求的!